[BlackBerry] Upstream LayerCompositingThread.{h, cpp}
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-03-26  Robin Cao  <robin.cao@torchmobile.com.cn>
2
3         [BlackBerry] Upstream LayerCompositingThread.{h, cpp}
4         https://bugs.webkit.org/show_bug.cgi?id=79873
5
6         Reviewed by Rob Buis.
7
8         Initial upstream, no new tests.
9
10         * platform/graphics/blackberry/LayerCompositingThread.cpp: Added.
11         (WebCore):
12         (WebCore::LayerCompositingThread::create):
13         (WebCore::LayerCompositingThread::LayerCompositingThread):
14         (WebCore::LayerCompositingThread::~LayerCompositingThread):
15         (WebCore::LayerCompositingThread::destroyOnCompositingThread):
16         (WebCore::LayerCompositingThread::setLayerRenderer):
17         (WebCore::LayerCompositingThread::deleteTextures):
18         (WebCore::LayerCompositingThread::setDrawTransform):
19         (WebCore::getTransformedRect):
20         (WebCore::LayerCompositingThread::getTransformedHolePunchRect):
21         (WebCore::LayerCompositingThread::drawTextures):
22         (WebCore::LayerCompositingThread::drawSurface):
23         (WebCore::LayerCompositingThread::drawMissingTextures):
24         (WebCore::LayerCompositingThread::releaseTextureResources):
25         (WebCore::LayerCompositingThread::setPluginView):
26         (WebCore::LayerCompositingThread::setMediaPlayer):
27         (WebCore::LayerCompositingThread::clearAnimations):
28         (WebCore::LayerCompositingThread::removeSublayer):
29         (WebCore::LayerCompositingThread::indexOfSublayer):
30         (WebCore::LayerCompositingThread::rootLayer):
31         (WebCore::LayerCompositingThread::removeFromSuperlayer):
32         (WebCore::LayerCompositingThread::setSublayers):
33         (WebCore::LayerCompositingThread::updateTextureContentsIfNeeded):
34         (WebCore::LayerCompositingThread::setVisible):
35         (WebCore::LayerCompositingThread::setNeedsCommit):
36         (WebCore::LayerCompositingThread::scheduleCommit):
37         (WebCore::LayerCompositingThread::updateAnimations):
38         (WebCore::LayerCompositingThread::hasVisibleHolePunchRect):
39         (WebCore::LayerCompositingThread::createLayerRendererSurface):
40         * platform/graphics/blackberry/LayerCompositingThread.h: Added.
41         (Graphics):
42         (WebCore):
43         (LayerCompositingThread):
44         (WebCore::LayerCompositingThread::bindContentsTexture):
45         (WebCore::LayerCompositingThread::getSublayers):
46         (WebCore::LayerCompositingThread::setSuperlayer):
47         (WebCore::LayerCompositingThread::superlayer):
48         (WebCore::LayerCompositingThread::drawTransform):
49         (WebCore::LayerCompositingThread::setDrawOpacity):
50         (WebCore::LayerCompositingThread::drawOpacity):
51         (WebCore::LayerCompositingThread::layerRendererSurface):
52         (WebCore::LayerCompositingThread::clearLayerRendererSurface):
53         (WebCore::LayerCompositingThread::setMaskLayer):
54         (WebCore::LayerCompositingThread::maskLayer):
55         (WebCore::LayerCompositingThread::setReplicaLayer):
56         (WebCore::LayerCompositingThread::replicaLayer):
57         (WebCore::LayerCompositingThread::getDrawRect):
58         (WebCore::LayerCompositingThread::getTransformedBounds):
59         (WebCore::LayerCompositingThread::hasMissingTextures):
60         (WebCore::LayerCompositingThread::isDirty):
61         (WebCore::LayerCompositingThread::isVisible):
62         (WebCore::LayerCompositingThread::setOpacity):
63         (WebCore::LayerCompositingThread::setTransform):
64         (WebCore::LayerCompositingThread::hasRunningAnimations):
65         (WebCore::LayerCompositingThread::numSublayers):
66
67 2012-03-26  Kent Tamura  <tkent@chromium.org>
68
69         Add a notification function for detaching to TextFieldDecorator
70         https://bugs.webkit.org/show_bug.cgi?id=82142
71
72         Reviewed by Dimitri Glazkov.
73
74         Add willDetach() functio to TextFieldDecorator. This will be
75         needed if a decorator opens a popup UI on handleClick(), and the
76         popup UI should be closed when the attaching text field is
77         detached.
78
79         No new tests because of no behavior changes in any platforms.
80
81         * html/shadow/TextFieldDecorationElement.cpp:
82         (WebCore::TextFieldDecorationElement::hostInput):
83         Added. A utilify function to get an HTMLInputElement*.
84         (WebCore::TextFieldDecorationElement::updateImage): Use hostInput().
85         (WebCore::TextFieldDecorationElement::customStyleForRenderer): ditto.
86         (WebCore::TextFieldDecorationElement::detach): Added. Calls TextFieldDecorator::willDetach().
87         (WebCore::TextFieldDecorationElement::defaultEventHandler): Use hostInput().
88         * html/shadow/TextFieldDecorationElement.h:
89         (TextFieldDecorator):
90         (TextFieldDecorationElement):
91
92 2012-03-26  Dan Bernstein  <mitz@apple.com>
93
94         Tried to fix the 32-bit build after r112021.
95
96         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
97         (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
98
99 2012-03-26  Leo Yang  <leo.yang@torchmobile.com.cn>
100
101         [BlackBerry] Skeleton code of AsyncFileSystemBlackBerry.cpp
102         https://bugs.webkit.org/show_bug.cgi?id=82157
103
104         Reviewed by Rob Buis.
105
106         AsyncFileSystemBlackBerry is responsible for asynchronous operating
107         on file system for the blackberry porting. It's just skeleton code
108         containing no implementation yet.
109
110         No new tests because of skeleton code.
111
112         * PlatformBlackBerry.cmake: Add AsyncFileSystemBlackBerry.cpp if ENABLE_FILE_SYSTEM is on.
113         * platform/AsyncFileSystem.cpp:
114         (WebCore):
115         * platform/blackberry/AsyncFileSystemBlackBerry.cpp: Added.
116         (WebCore):
117         (WebCore::AsyncFileSystem::isAvailable):
118         (WebCore::AsyncFileSystem::isValidType):
119         (WebCore::AsyncFileSystem::create):
120         (WebCore::AsyncFileSystem::openFileSystem):
121         (WebCore::AsyncFileSystem::crackFileSystemURL):
122         (WebCore::AsyncFileSystemBlackBerry::AsyncFileSystemBlackBerry):
123         (WebCore::AsyncFileSystemBlackBerry::~AsyncFileSystemBlackBerry):
124         (WebCore::AsyncFileSystemBlackBerry::toURL):
125         (WebCore::AsyncFileSystemBlackBerry::move):
126         (WebCore::AsyncFileSystemBlackBerry::copy):
127         (WebCore::AsyncFileSystemBlackBerry::remove):
128         (WebCore::AsyncFileSystemBlackBerry::removeRecursively):
129         (WebCore::AsyncFileSystemBlackBerry::readMetadata):
130         (WebCore::AsyncFileSystemBlackBerry::createFile):
131         (WebCore::AsyncFileSystemBlackBerry::createDirectory):
132         (WebCore::AsyncFileSystemBlackBerry::fileExists):
133         (WebCore::AsyncFileSystemBlackBerry::directoryExists):
134         (WebCore::AsyncFileSystemBlackBerry::readDirectory):
135         (WebCore::AsyncFileSystemBlackBerry::createWriter):
136         (WebCore::AsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadata):
137         * platform/blackberry/AsyncFileSystemBlackBerry.h: Added.
138         (WebCore):
139         (AsyncFileSystemBlackBerry):
140
141 2012-03-26  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
142
143         [BlackBerry] CredentialBackingStore implement encryptString() and decryptString()
144         https://bugs.webkit.org/show_bug.cgi?id=82204
145
146         Reviewed by Rob Buis.
147
148         Implemented encryptedString() and decryptedString() in class CredentialBackingStore
149         by calling BlackBerry::Platform::Encryptor::encryptString() and
150         BlackBerry::Platform::Encryptor::encryptString() respectively.
151
152         No new tests.
153
154         * platform/network/blackberry/CredentialBackingStore.cpp:
155         (WebCore::CredentialBackingStore::encryptedString):
156         (WebCore::CredentialBackingStore::decryptedString):
157
158 2012-03-26  Pavel Feldman  <pfeldman@chromium.org>
159
160         Web Inspector: 'use strict' exceptions stop in inspector code
161         https://bugs.webkit.org/show_bug.cgi?id=82199
162
163         Reviewed by Yury Semikhatsky.
164
165         Accessing callee from within InjectedScript made inspector stop on handled exceptions.
166         I replaced it with Object.prototype.toString.call(obj) === "[object Arguments]".
167
168         * inspector/InjectedScriptSource.js:
169
170 2012-03-26  Mihai Balan  <mibalan@adobe.com>
171
172         [CSS Regions] In region styling (@-webkit-region) the position for CSS rules is incorrectly computed
173         https://bugs.webkit.org/show_bug.cgi?id=81901
174
175         Reviewed by Antti Koivisto.
176
177         Right now CSS rules position does not take into account rules that are inside a @-webkit-region
178         declaration, leading to buggy behavior where rules that appear later in the document are superseded
179         by rules that appear earlier in the document (opposite as how things should be). The fix updates
180         the "global" rules counter once the rules in a @-webkit-region declaration have been added.
181
182         Tests: fast/regions/region-style-rule-position-expected.html
183                fast/regions/region-style-rule-position.html
184
185         * css/CSSStyleSelector.cpp:
186         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
187
188 2012-03-26  Pierre Rossi  <pierre.rossi@nokia.com>
189
190         [Qt] Disable focus ring in the mobile theme.
191         https://bugs.webkit.org/show_bug.cgi?id=81934
192
193         For mobile devices intended to be used only through
194         touch, the focus rings makes little sense and feels
195         awkward.
196
197         Reviewed by Kenneth Rohde Christiansen.
198
199         No new tests. This is merely a cosmetic touch.
200
201         * platform/qt/RenderThemeQtMobile.h:
202         (RenderThemeQtMobile):
203         (WebCore::RenderThemeQtMobile::platformFocusRingColor):
204
205 2012-03-26  Charles Wei  <charles.wei@torchmobile.com.cn>
206
207         [BlackBerry] Clean up networking code and remove WML support.
208         https://bugs.webkit.org/show_bug.cgi?id=82170
209
210         Reviewed by Rob Buis.
211
212         This just removes the WML support of BlackBerry porting, which is already 
213         removed from WebCore. No new tests needed.
214
215         * platform/blackberry/MIMETypeRegistryBlackBerry.cpp:
216         (WebCore):
217         * platform/network/blackberry/DeferredData.cpp:
218         (WebCore::DeferredData::DeferredData):
219         (WebCore::DeferredData::processDeferredData):
220         * platform/network/blackberry/DeferredData.h:
221         (DeferredData):
222         (WebCore::DeferredData::hasDeferredData):
223         * platform/network/blackberry/NetworkJob.cpp:
224         * platform/network/blackberry/NetworkJob.h:
225         (NetworkJob):
226         * platform/network/blackberry/ResourceResponse.h:
227         (WebCore::ResourceResponse::ResourceResponse):
228         (ResourceResponse):
229         * platform/network/blackberry/ResourceResponseBlackBerry.cpp:
230         (WebCore::ResourceResponse::doPlatformCopyData):
231         (WebCore::ResourceResponse::doPlatformAdopt):
232
233 2012-03-26  Philip Rogers  <pdr@google.com>
234
235         Add invalid bounding box concept to SVG containers
236         https://bugs.webkit.org/show_bug.cgi?id=81104
237
238         Reviewed by Nikolas Zimmermann.
239
240         An empty <g> element needs to use an invalid bounding box because
241         an empty bounding box isn't the default state. This change
242         introduces the concept of an invalid object bounding box for
243         both RenderSVGContainer and RenderSVGRoot. Code that
244         does not explicitly check that the bounding box is valid
245         should be unaffected by this change. We use this new invalid
246         flag in computeContainerBoundingBoxes so that we do not
247         include invalid bounding boxes.
248
249         This change also contains a small fix in
250         RenderSVGContainer::toRenderSVGContainer which depended on
251         RenderSVGViewportContainer not inheriting from RenderSVGContainer,
252         which it now does.
253
254         Test: svg/custom/getBBox-empty-container.html
255
256         * rendering/svg/RenderSVGContainer.cpp:
257         (WebCore::RenderSVGContainer::RenderSVGContainer):
258         (WebCore::RenderSVGContainer::updateCachedBoundaries):
259         * rendering/svg/RenderSVGContainer.h:
260         (WebCore::RenderSVGContainer::isObjectBoundingBoxValid):
261         (RenderSVGContainer):
262         (WebCore::toRenderSVGContainer):
263         * rendering/svg/RenderSVGRoot.cpp:
264         (WebCore::RenderSVGRoot::RenderSVGRoot):
265         (WebCore::RenderSVGRoot::updateCachedBoundaries):
266         * rendering/svg/RenderSVGRoot.h:
267         (RenderSVGRoot):
268         * rendering/svg/SVGRenderSupport.cpp:
269         (WebCore):
270         (WebCore::updateObjectBoundingBox):
271         (WebCore::SVGRenderSupport::computeContainerBoundingBoxes):
272         * rendering/svg/SVGRenderSupport.h:
273         (SVGRenderSupport):
274
275 2012-03-26  Alexei Filippov  <alexeif@chromium.org>
276
277         Web Inspector: Speed up the retainers build phase.
278         https://bugs.webkit.org/show_bug.cgi?id=81763
279
280         Replacing the edge iterator in retainers building phase
281         makes it run 10 times faster (400 ms vs. 4 sec).
282
283         Reviewed by Yury Semikhatsky.
284
285         * inspector/front-end/HeapSnapshot.js:
286         (WebInspector.HeapSnapshot.prototype._buildRetainers):
287
288 2012-03-22  Alexander Pavlov  <apavlov@chromium.org>
289
290         Web Inspector: Migrate InspectorCSSAgent to strict protocol types
291         https://bugs.webkit.org/show_bug.cgi?id=81923
292
293         Reviewed by Pavel Feldman.
294
295         No new tests, as this is a refactoring.
296
297         * inspector/CodeGeneratorInspector.py:
298         * inspector/InspectorCSSAgent.cpp:
299         (SelectorProfile):
300         (WebCore::SelectorProfile::toInspectorObject):
301         (WebCore::InspectorCSSAgent::clearFrontend):
302         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
303         (WebCore::InspectorCSSAgent::getInlineStylesForNode):
304         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
305         (WebCore::InspectorCSSAgent::getAllStyleSheets):
306         (WebCore::InspectorCSSAgent::getStyleSheet):
307         (WebCore::InspectorCSSAgent::setPropertyText):
308         (WebCore::InspectorCSSAgent::toggleProperty):
309         (WebCore::InspectorCSSAgent::setRuleSelector):
310         (WebCore::InspectorCSSAgent::addRule):
311         (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
312         (WebCore::InspectorCSSAgent::stopSelectorProfiler):
313         (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
314         (WebCore::InspectorCSSAgent::collectStyleSheets):
315         (WebCore::InspectorCSSAgent::buildArrayForRuleList):
316         (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
317         * inspector/InspectorCSSAgent.h:
318         (InspectorCSSAgent):
319         * inspector/InspectorStyleSheet.cpp:
320         (WebCore::buildSourceRangeObject):
321         (WebCore::buildMediaObject):
322         (WebCore::fillMediaListChain):
323         (WebCore::InspectorStyle::buildObjectForStyle):
324         (WebCore::InspectorStyle::buildArrayForComputedStyle):
325         (WebCore::InspectorStyle::styleWithProperties):
326         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
327         (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
328         (WebCore::InspectorStyleSheet::buildObjectForRule):
329         (WebCore::InspectorStyleSheet::buildObjectForStyle):
330         * inspector/InspectorStyleSheet.h:
331         (WebCore::InspectorCSSId::asProtocolValue):
332         (InspectorStyle):
333         (InspectorStyleSheet):
334
335 2012-03-26  Alexander Pavlov  <apavlov@chromium.org>
336
337         Web Inspector: [REGRESSION] Workarounds for security checks when retrieving stylesheet rule lists are broken
338         https://bugs.webkit.org/show_bug.cgi?id=82191
339
340         Reviewed by Vsevolod Vlasov.
341
342         Test: http/tests/inspector/modify-cross-domain-rule.html
343
344         * inspector/InspectorStyleSheet.cpp:
345         (WebCore::asCSSRuleList):
346         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
347
348 2012-03-26  Carlos Garcia Campos  <cgarcia@igalia.com>
349
350         Unreviewed. Fix make distcheck.
351
352         * GNUmakefile.list.am: Add missing files.
353
354 2012-03-26  Jason Liu  <jason.liu@torchmobile.com.cn>
355
356         [BlackBerry] Cookies mismatch when login to gmail.
357         https://bugs.webkit.org/show_bug.cgi?id=82165
358
359         Redirection's response can add or update cookies. The cookies of ResourceRequest is dirty
360         in this case. We shouldn't copy the dirty cookie header from ResourceRequest to PlatformRequest
361         for redirection loading.
362
363         This issue didn't happen before because we used m_cookieData not the cookie header.
364         Now we use the cookie header to avoid storing double cookie's data, and m_cookieData is removed.
365
366         Reviewed by George Staikos.
367
368         No new tests. It is a refactoring issue.
369
370         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
371         (WebCore::ResourceRequest::initializePlatformRequest):
372
373 2012-03-26  Alexis Menard  <alexis.menard@openbossa.org>
374
375         Increase code sharing between StylePropertySet and CSSPropertyLonghand.
376         https://bugs.webkit.org/show_bug.cgi?id=81960
377
378         Reviewed by Antti Koivisto.
379
380         Use longhands declaration from CSSPropertyLonghand in StylePropertySet in order
381         to avoid code duplication.
382
383         No new tests : refactoring only, we shouldn't have any behavior difference.
384
385         * css/CSSPropertyLonghand.cpp:
386         (WebCore::backgroundLonghand):
387         Re-order the array to match the spec default order.
388         (WebCore::webkitMaskLonghand):
389         Re-order to match the original order.
390         (WebCore::webkitTransformOriginLonghand):
391         A LayoutTest shows that a property was missing.
392         * css/StylePropertySet.cpp:
393         (WebCore::StylePropertySet::getPropertyValue):
394         (WebCore::StylePropertySet::borderSpacingValue):
395         (WebCore::StylePropertySet::get4Values):
396         (WebCore::StylePropertySet::getLayeredShorthandValue):
397         (WebCore::StylePropertySet::getShorthandValue):
398         (WebCore::StylePropertySet::getCommonValue):
399         (WebCore::StylePropertySet::asText):
400         * css/StylePropertySet.h:
401         (WebCore):
402         (StylePropertySet):
403
404 2012-03-26  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
405
406         [Qt] Assert in GestureTapHighlighter.
407         https://bugs.webkit.org/show_bug.cgi?id=82187
408
409         Reviewed by Kenneth Rohde Christiansen.
410
411         Adjust the boundaries of the center-rect before performing the intersection test,
412         since adjusting the boundary may cause a new intersection.
413
414         * page/GestureTapHighlighter.cpp:
415
416 2012-03-26  Antti Koivisto  <antti@apple.com>
417
418         Split MediaList into internal and CSSOM types
419         https://bugs.webkit.org/show_bug.cgi?id=82149
420
421         Reviewed by Andread Kling.
422
423         MediaList is a CSSOM type and should not be used internally.
424         
425         - Use new type MediaQuerySet internally to represent a collection of media queries.
426         - Create MediaList wrapper on-demand for CSSOM purposes only.
427         
428         This moves us forward in separating CSSOM from the internal stylesheet implementation.
429         
430         MediaQuerySet really belongs to a file of its own but that is not part of this patch.
431         
432         * css/CSSGrammar.y:
433         * css/CSSImportRule.cpp:
434         (WebCore::CSSImportRule::create):
435         (WebCore):
436         (WebCore::CSSImportRule::CSSImportRule):
437         (WebCore::CSSImportRule::~CSSImportRule):
438         (WebCore::CSSImportRule::media):
439         (WebCore::CSSImportRule::cssText):
440         * css/CSSImportRule.h:
441         (WebCore):
442         (CSSImportRule):
443         (WebCore::CSSImportRule::mediaQueries):
444         * css/CSSMediaRule.cpp:
445         (WebCore::CSSMediaRule::CSSMediaRule):
446         (WebCore::CSSMediaRule::~CSSMediaRule):
447         (WebCore::CSSMediaRule::cssText):
448         * css/CSSMediaRule.h:
449         (WebCore::CSSMediaRule::create):
450         (WebCore::CSSMediaRule::media):
451         (WebCore::CSSMediaRule::mediaQueries):
452         (CSSMediaRule):
453         * css/CSSParser.cpp:
454         (WebCore::CSSParser::parseMediaQuery):
455         (WebCore::CSSParser::createMediaQuerySet):
456         (WebCore::CSSParser::createImportRule):
457         (WebCore::CSSParser::createMediaRule):
458         (WebCore::CSSParser::updateLastMediaLine):
459         * css/CSSParser.h:
460         (WebCore):
461         (CSSParser):
462         * css/CSSStyleSelector.cpp:
463         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
464         * css/CSSStyleSheet.cpp:
465         (WebCore):
466         (WebCore::CSSStyleSheet::media):
467         (WebCore::CSSStyleSheet::setMediaQueries):
468         * css/CSSStyleSheet.h:
469         (WebCore):
470         (CSSStyleSheet):
471         (WebCore::CSSStyleSheet::mediaQueries):
472         * css/MediaList.cpp:
473         (WebCore):
474         (WebCore::MediaQuerySet::MediaQuerySet):
475         (WebCore::MediaQuerySet::~MediaQuerySet):
476         (WebCore::parseMediaDescriptor):
477         (WebCore::MediaQuerySet::parse):
478         (WebCore::MediaQuerySet::add):
479         (WebCore::MediaQuerySet::remove):
480         (WebCore::MediaQuerySet::addMediaQuery):
481         (WebCore::MediaQuerySet::mediaText):
482         (WebCore::MediaQuerySet::ensureMediaList):
483         
484             - Use OwnPtr<> for MediaQuery ownership.
485             - Move the appropriate functions to MediaQuerySet.
486             - Clean up a bit to make this more readable and better aligned to WebKit style.
487         
488         (WebCore::MediaList::MediaList):
489         (WebCore::MediaList::~MediaList):
490         (WebCore::MediaList::setMediaText):
491         (WebCore::MediaList::item):
492         (WebCore::MediaList::deleteMedium):
493         (WebCore::MediaList::appendMedium):
494         * css/MediaList.h:
495         (WebCore):
496         (WebCore::MediaQuerySet::create):
497         (WebCore::MediaQuerySet::createAllowingDescriptionSyntax):
498         (MediaQuerySet):
499         (WebCore::MediaQuerySet::queryVector):
500         (WebCore::MediaQuerySet::lastLine):
501         (WebCore::MediaQuerySet::setLastLine):
502         (MediaList):
503         (WebCore::MediaList::ref):
504         (WebCore::MediaList::deref):
505         (WebCore::MediaList::length):
506         (WebCore::MediaList::mediaText):
507         (WebCore::MediaList::queries):
508         * css/MediaQueryEvaluator.cpp:
509         (WebCore::MediaQueryEvaluator::eval):
510         * css/MediaQueryEvaluator.h:
511         (WebCore):
512         (MediaQueryEvaluator):
513         * css/MediaQueryList.cpp:
514         (WebCore::MediaQueryList::create):
515         (WebCore::MediaQueryList::MediaQueryList):
516         * css/MediaQueryList.h:
517         (WebCore):
518         (MediaQueryList):
519         * css/MediaQueryMatcher.cpp:
520         (WebCore::MediaQueryMatcher::evaluate):
521         (WebCore::MediaQueryMatcher::matchMedia):
522         * css/MediaQueryMatcher.h:
523         (WebCore):
524         (MediaQueryMatcher):
525         * css/StyleMedia.cpp:
526         (WebCore::StyleMedia::matchMedium):
527         * css/StyleSheet.cpp:
528         (WebCore::StyleSheet::~StyleSheet):
529         
530             Move the media query ownership to CSSStyleSheet where it belongs.
531         
532         (WebCore):
533         * css/StyleSheet.h:
534         (WebCore::StyleSheet::media):
535         (StyleSheet):
536         * dom/DOMImplementation.cpp:
537         (WebCore::DOMImplementation::createCSSStyleSheet):
538         * dom/ProcessingInstruction.cpp:
539         (WebCore::ProcessingInstruction::setCSSStyleSheet):
540         * dom/StyleElement.cpp:
541         (WebCore::StyleElement::createSheet):
542         * html/HTMLLinkElement.cpp:
543         (WebCore::HTMLLinkElement::process):
544         (WebCore::HTMLLinkElement::setCSSStyleSheet):
545         * html/HTMLMediaElement.cpp:
546         (WebCore::HTMLMediaElement::selectNextSourceChild):
547         * html/parser/HTMLPreloadScanner.cpp:
548         (WebCore::HTMLNames::PreloadTask::linkMediaAttributeIsScreen):
549         * inspector/InspectorStyleSheet.cpp:
550         (WebCore::buildMediaObject):
551
552 2012-03-26  Zeno Albisser  <zeno@webkit.org>
553
554         [Qt]WK2] TextureMapperShaderManager should query the program map before creating new shader program instances.
555         https://bugs.webkit.org/show_bug.cgi?id=82178
556
557         If TextureMapperShaderManager already has a reference to an instance of the
558         requested shader program type, this instance should be reused instead of
559         creating a new one.
560
561         Reviewed by Noam Rosenthal.
562
563         * platform/graphics/texmap/TextureMapperShaderManager.h:
564         (WebCore::TextureMapperShaderManager::getShaderProgram):
565
566 2012-03-26  Yury Semikhatsky  <yurys@chromium.org>
567
568         [Chromium] Web Inspector: dedicated worker inspector is empty
569         https://bugs.webkit.org/show_bug.cgi?id=82181
570
571         "beforeunload" event for worker inspector front-end is ingnored if the
572         window url is "about:blank" as it is just unload of the default content
573         before the front-end page load.
574
575         Reviewed by Pavel Feldman.
576
577         * inspector/front-end/WorkerManager.js:
578         (WebInspector.WorkerManager.prototype._workerInspectorClosing):
579
580 2012-03-22  Yury Semikhatsky  <yurys@chromium.org>
581
582         Web Inspector: split nodes and containment edges into two different arrays
583         https://bugs.webkit.org/show_bug.cgi?id=81930
584
585         Extract heap profile nodes and edges into two separate arrays. This
586         way we will have a continuous array of the heap graph nodes and can
587         aviod additional mapping between node index and its position in the
588         heap snapshot.
589
590         Reviewed by Pavel Feldman.
591
592         * inspector/front-end/HeapSnapshot.js:
593         (WebInspector.HeapSnapshot.prototype._init):
594         (WebInspector.HeapSnapshot.prototype._buildContinuousNodeArray):
595         (WebInspector.HeapSnapshot.prototype._createOnlyNodesArray):
596         (WebInspector.HeapSnapshot.prototype._restoreNodeTypes):
597         (WebInspector.HeapSnapshot.prototype._createRetainmentEdgesArray):
598         (WebInspector.HeapSnapshot.prototype._createContainmentEdgesArray):
599         * inspector/front-end/HeapSnapshotProxy.js:
600         (WebInspector.HeapSnapshotWorker):
601
602 2012-03-22  Pavel Podivilov  <podivilov@chromium.org>
603
604         Web Inspector: move resource loading logic from SourceMapParser to CompilerScriptMapping.
605         https://bugs.webkit.org/show_bug.cgi?id=81897
606
607         Reviewed by Vsevolod Vlasov.
608
609         SourceMapParser should only deal with payload parsing.
610
611         * inspector/front-end/CompilerScriptMapping.js:
612         (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
613         (WebInspector.CompilerScriptMapping.prototype.addScript):
614         (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
615         (WebInspector.SourceMapPayload):
616         (WebInspector.SourceMapParser):
617         (WebInspector.SourceMapParser.prototype.sourceContent):
618         (WebInspector.SourceMapParser.prototype.findEntry):
619         (WebInspector.SourceMapParser.prototype.findEntryReversed):
620         * inspector/front-end/ContentProviders.js:
621         (WebInspector.CompilerSourceMappingContentProvider):
622         (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
623
624 2012-03-26  Ilya Tikhonovsky  <loislo@chromium.org>
625
626         Web Inspector: replace indexOf('a text') === 0 with RegExp because it is much faster.
627         https://bugs.webkit.org/show_bug.cgi?id=82175
628
629         We were using aString.indexOf("Window") but it is not effective from performance point of view.
630         I'm replaced it with RegExp.
631
632         Reviewed by Yury Semikhatsky.
633
634         * inspector/front-end/HeapSnapshot.js:
635         (WebInspector.HeapSnapshotNode.prototype.get isWindow):
636         (WebInspector.HeapSnapshotNode.prototype.get isDetachedDOMTree):
637
638 2012-03-26  Pavel Feldman  <pfeldman@chromium.org>
639
640         Web Inspector: breakpoints should be disabled while live editing JavaScript.
641         https://bugs.webkit.org/show_bug.cgi?id=81947
642
643         Reviewed by Yury Semikhatsky.
644
645         This change disables (removes from the backend) the breakpoints while editing script.
646         Undoing or committing the change restores the breakpoints. Main logic is implemented within
647         JavaScriptSourceFrame, but it required minor tweaking of the text editor: more correct
648         undo/redo wrapper and better detection of the noop opterations.
649
650         * inspector/front-end/JavaScriptSourceFrame.js:
651         (WebInspector.JavaScriptSourceFrame):
652         (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
653         (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
654         (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
655         (WebInspector.JavaScriptSourceFrame.prototype.addBreakpoint):
656         (WebInspector.JavaScriptSourceFrame.prototype.removeBreakpoint):
657         (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
658         * inspector/front-end/TextEditorModel.js:
659         (WebInspector.TextEditorModel.endsWithBracketRegex.):
660         * inspector/front-end/TextViewer.js:
661         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.before):
662         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.after):
663         (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
664         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
665
666 2012-03-25  Nat Duca  <nduca@chromium.org>
667
668         [chromium] Route willBeginFrame from compositor to WebWidget
669         https://bugs.webkit.org/show_bug.cgi?id=82171
670
671         Reviewed by Darin Fisher.
672
673         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
674         (CCLayerTreeHostClient):
675         (WebCore::CCLayerTreeHost::willBeginFrame):
676         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
677         (WebCore::CCThreadProxy::beginFrame):
678
679 2012-03-25  Hayato Ito  <hayato@chromium.org>
680
681         [Shadow DOM] Add Reified DOM Tree traversal internal APIs.
682         https://bugs.webkit.org/show_bug.cgi?id=79197
683
684         Reviewed by Dimitri Glazkov.
685
686         Add internal APIs which can be used to traverse Reified DOM tree, which is
687         a result of node distribution algorithm explained in Shadow DOM spec.
688         https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html
689
690         Every public functions defined in ReifiedTreeTraversal are static
691         functions and are named in a similar way to ones defined in WebCore::Node class.
692         The only difference is that ReifiedTreeTraversal APIs consider shadow
693         hosts and also traverse nodes is Shadow DOM subtrees, crossing shadow's upper and lower boundary
694         transparently.
695
696         There is no actual client which uses these APIs. Follow-up patches for FocusNavigation
697         and EventDispatcher will use the APIs so that they can traverse node in reified tree order.
698
699         Test: fast/dom/shadow/reified-tree-traversal.html
700
701         * CMakeLists.txt:
702         * GNUmakefile.list.am:
703         * Target.pri:
704         * WebCore.exp.in:
705         * WebCore.gypi:
706         * WebCore.vcproj/WebCore.vcproj:
707         * WebCore.xcodeproj/project.pbxproj:
708         * dom/ReifiedTreeTraversal.cpp: Added.
709         (WebCore):
710         (WebCore::isShadowHost):
711         (WebCore::shadowTreeFor):
712         (WebCore::shadowTreeOfParent):
713         (WebCore::ReifiedTreeTraversal::firstChild):
714         (WebCore::ReifiedTreeTraversal::lastChild):
715         (WebCore::ReifiedTreeTraversal::lastChildWithoutCrossingUpperBoundary):
716         (WebCore::ReifiedTreeTraversal::traverseChild):
717         (WebCore::ReifiedTreeTraversal::traverseLightChildren):
718         (WebCore::ReifiedTreeTraversal::traverseNode):
719         (WebCore::ReifiedTreeTraversal::nextSibling):
720         (WebCore::ReifiedTreeTraversal::previousSibling):
721         (WebCore::ReifiedTreeTraversal::traverseSiblingOrBackToInsertionPoint):
722         (WebCore::ReifiedTreeTraversal::traverseSiblingInCurrentTree):
723         (WebCore::ReifiedTreeTraversal::traverseSiblingOrBackToYoungerShadowRoot):
724         (WebCore::ReifiedTreeTraversal::escapeFallbackContentElement):
725         (WebCore::ReifiedTreeTraversal::traverseNodeEscapingFallbackContents):
726         (WebCore::ReifiedTreeTraversal::parentNode):
727         (WebCore::ReifiedTreeTraversal::parentNodeWithoutCrossingUpperBoundary):
728         (WebCore::ReifiedTreeTraversal::parentNodeOrBackToInsertionPoint):
729         (WebCore::ReifiedTreeTraversal::parentNodeInCurrentTree):
730         (WebCore::ReifiedTreeTraversal::parentNodeBackToYoungerShadowRootOrHost):
731         (WebCore::ReifiedTreeTraversal::adjustedParentNode):
732         (WebCore::ReifiedTreeTraversal::traverseNextNode):
733         (WebCore::ReifiedTreeTraversal::traverseNextNodeWithoutCrossingUpperBoundary):
734         (WebCore::ReifiedTreeTraversal::traversePreviousNode):
735         (WebCore::ReifiedTreeTraversal::traversePreviousNodeWithoutCrossingUpperBoundary):
736         * dom/ReifiedTreeTraversal.h: Added.
737         (WebCore):
738         (ReifiedTreeTraversal):
739         * dom/ShadowTree.cpp:
740         (WebCore::ShadowTree::insertionPointFor):
741         (WebCore::ShadowTree::selectionFor):
742         (WebCore):
743         * dom/ShadowTree.h:
744         (WebCore):
745         (ShadowTree):
746         * html/shadow/HTMLContentSelector.cpp:
747         (WebCore::HTMLContentSelector::findFor):
748         * html/shadow/HTMLContentSelector.h:
749         (HTMLContentSelectionSet):
750         (WebCore::HTMLContentSelectionSet::find):
751         (HTMLContentSelector):
752         * html/shadow/InsertionPoint.h:
753         (WebCore::isInsertionPoint):
754         (WebCore::toInsertionPoint):
755         (WebCore):
756         * testing/Internals.cpp:
757         (WebCore::Internals::nextSiblingInReifiedTree):
758         (WebCore):
759         (WebCore::Internals::firstChildInReifiedTree):
760         (WebCore::Internals::lastChildInReifiedTree):
761         (WebCore::Internals::traverseNextNodeInReifiedTree):
762         (WebCore::Internals::traversePreviousNodeInReifiedTree):
763         * testing/Internals.h:
764         (Internals):
765         * testing/Internals.idl:
766
767 2012-03-25  Nikita Vasilyev  <me@elv1s.ru>
768
769         Web Inspector: Indenting fully selected line should not indent the line next to it
770         https://bugs.webkit.org/show_bug.cgi?id=81758
771
772         In the editor, you can select a whole line by moving caret at 0 column
773         position and pressing Shift + Arrow Down/Up. After that, pressing Tab
774         indents 2 lines: fully selected one and the line next to it. The patch
775         changes this behaviour to indent only fully selected line since that is
776         what pretty-match all the other code editors do.
777
778         Reviewed by Pavel Feldman.
779
780         Test: inspector/editor/indentation.html
781
782         * inspector/front-end/TextViewer.js:
783         (WebInspector.TextEditorMainPanel.prototype._indentLines):
784             Do not insert indent at the begging of the last line if a selection
785             ends on its 0 column.
786         (WebInspector.TextEditorMainPanel.prototype._unindentLines):
787             Do not remove indent at the begging of the last line if a selection
788             ends on its 0 column.
789
790 2012-03-25  Abhishek Arya  <inferno@chromium.org>
791
792         Crash in ContainerNode::resumePostAttachCallbacks.
793         https://bugs.webkit.org/show_bug.cgi?id=82159
794
795         Reviewed by Hajime Morita.
796
797         Test: plugins/object-onfocus-mutation-crash.html
798
799         * dom/ContainerNode.cpp:
800         (WebCore::ContainerNode::resumePostAttachCallbacks): dispatching post attach
801         callbacks when our attach depth is 1 can fire mutation events such as onfocus
802         which can blow away |this|. Need to protect it with a RefPtr.
803         * html/HTMLPlugInImageElement.cpp:
804         (WebCore::HTMLPlugInImageElement::attach): add calls to suspend attach callbacks
805         until the function completes.
806
807 2012-03-25  Dana Jansens  <danakj@chromium.org>
808
809         [chromium] Layers with animating transforms should prepaint even if they are not visible yet
810         https://bugs.webkit.org/show_bug.cgi?id=82117
811
812         Reviewed by Adrienne Walker.
813
814         For animating transforms, instead of early-outing when the layer's
815         visible rect is empty, let it prepaint regardless.
816
817         For now, we just only paint the outermost tiles, and only for small
818         layers, with at most 9 tiles.
819
820         This changes the behaviour of ContentLayerChromium's
821         idlePaintContentsIfDirty() so I've guarded the behaviour of the two
822         prepainting functions that it calls to ensure the old behaviour holds
823         without animations, and the new behaviour works with them.
824
825         Unit test: TiledLayerChromiumTest.idlePaintZeroSizedLayer
826                    TiledLayerChromiumTest.idlePaintZeroSizedAnimatingLayer
827                    TiledLayerChromiumTest.idlePaintNonVisibleLayers
828                    TiledLayerChromiumTest.idlePaintNonVisibleAnimatingLayers
829
830         * platform/graphics/chromium/ContentLayerChromium.cpp:
831         (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
832         * platform/graphics/chromium/TiledLayerChromium.cpp:
833         (WebCore::TiledLayerChromium::prepareToUpdateIdle):
834         (WebCore::TiledLayerChromium::needsIdlePaint):
835         (WebCore::TiledLayerChromium::idlePaintRect):
836         * platform/graphics/chromium/TiledLayerChromium.h:
837         (WebCore::TiledLayerChromium::numPaintedTiles):
838         (TiledLayerChromium):
839
840 2012-03-25  Antti Koivisto  <antti@apple.com>
841
842         Don't use CSSRuleList for child rule ownership
843         https://bugs.webkit.org/show_bug.cgi?id=82127
844
845         Reviewed by Andreas Kling.
846
847         CSSMediaRule, WebKitCSSKeyframesRule and WebKitRegionRule use CSSRuleList for storing children. 
848         They should use a simple rule vector instead. CSSRuleList is a CSSOM type that should be 
849         instantiated on-demand for API purposes only.
850         
851         - Use Vector<RefPtr<CSSRule>> for storing the rule children of CSSMediaRule, WebKitCSSKeyframesRule 
852           and WebKitRegionRule.
853         - Add direct accessors, use internally instead of CSSRuleList.
854         - Make CSSRuleList an abstract base. Add concrete subclasses for dealing with the underlying storage.
855         - Instantiate CSSRuleLists on-demand.
856         - Make CSSStyleSheet.cssRules always return the same object instance. This matches Firefox and the rest
857           of our CSSOM implementation. Tested by fast/dom/gc-9.html.
858           
859         The patch decouples internals from the external API. It simplifies the child rule ownership and reduces 
860         indirection. Memory use of css rules with children is reduced (by a ptr, refcount and heap allocation overhead).
861
862         * css/CSSGrammar.y:
863         * css/CSSMediaRule.cpp:
864         (WebCore::CSSMediaRule::CSSMediaRule):
865         (WebCore::CSSMediaRule::~CSSMediaRule):
866         (WebCore::CSSMediaRule::append):
867         (WebCore::CSSMediaRule::insertRule):
868         (WebCore::CSSMediaRule::deleteRule):
869         (WebCore::CSSMediaRule::cssText):
870         (WebCore::CSSMediaRule::cssRules):
871         * css/CSSMediaRule.h:
872         (WebCore::CSSMediaRule::create):
873         (CSSMediaRule):
874         (WebCore::CSSMediaRule::ruleCount):
875         (WebCore::CSSMediaRule::ruleAt):
876         * css/CSSParser.cpp:
877         (WebCore::CSSParser::createMediaRule):
878         (WebCore::CSSParser::createRuleList):
879         (WebCore::CSSParser::createRegionRule):
880         * css/CSSParser.h:
881         (WebCore):
882         * css/CSSRuleList.cpp:
883         (WebCore):
884         (WebCore::StaticCSSRuleList::StaticCSSRuleList):
885         (WebCore::StaticCSSRuleList::~StaticCSSRuleList):
886         (WebCore::StaticCSSRuleList::deref):
887         (WebCore::StaticCSSRuleList::item):        
888         * css/CSSRuleList.h:
889         (CSSRuleList):
890
891             Turn CSSRuleList into abstract interface.
892                     
893         (StaticCSSRuleList):
894         (WebCore::StaticCSSRuleList::create):
895         (WebCore::StaticCSSRuleList::ref):
896         (WebCore::StaticCSSRuleList::rules):
897         (WebCore::StaticCSSRuleList::styleSheet):
898         (WebCore::StaticCSSRuleList::length):
899         
900             Concrete implementation for fixed list of rules.
901     
902         (WebCore):
903         (LiveCSSRuleList):
904         (WebCore::LiveCSSRuleList::LiveCSSRuleList):
905         (WebCore::LiveCSSRuleList::ref):
906         (WebCore::LiveCSSRuleList::deref):
907         (WebCore::LiveCSSRuleList::length):
908         (WebCore::LiveCSSRuleList::item):
909         (WebCore::LiveCSSRuleList::styleSheet):
910         
911             Concrete implemenation for live list backed by the underlying container rule.
912             LiveCSSRuleList is owned by the underlying rule. Refcount is forwarded. 
913         
914         * css/CSSStyleSelector.cpp:
915         (WebCore::CSSStyleSelector::sortAndTransferMatchedRules):
916         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
917         * css/CSSStyleSelector.h:
918         (CSSStyleSelector):
919         * css/CSSStyleSheet.cpp:
920         
921             The same scheme for CSSStyleSheet.cssRule as with container rules.
922         
923         (StyleSheetCSSRuleList):
924         (WebCore::StyleSheetCSSRuleList::StyleSheetCSSRuleList):
925         (WebCore::StyleSheetCSSRuleList::ref):
926         (WebCore::StyleSheetCSSRuleList::deref):
927         (WebCore::StyleSheetCSSRuleList::length):
928         (WebCore::StyleSheetCSSRuleList::item):
929         (WebCore::StyleSheetCSSRuleList::styleSheet):
930         (WebCore):
931         (WebCore::CSSStyleSheet::rules):
932         (WebCore::CSSStyleSheet::cssRules):
933         * css/CSSStyleSheet.h:
934         (CSSStyleSheet):
935         * css/WebKitCSSKeyframesRule.cpp:
936         (WebCore::WebKitCSSKeyframesRule::WebKitCSSKeyframesRule):
937         (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
938         (WebCore):
939         (WebCore::WebKitCSSKeyframesRule::append):
940         (WebCore::WebKitCSSKeyframesRule::deleteRule):
941         (WebCore::WebKitCSSKeyframesRule::findRule):
942         (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
943         (WebCore::WebKitCSSKeyframesRule::cssText):
944         (WebCore::WebKitCSSKeyframesRule::cssRules):
945         * css/WebKitCSSKeyframesRule.h:
946         (WebKitCSSKeyframesRule):
947         (WebCore::WebKitCSSKeyframesRule::ruleCount):
948         (WebCore::WebKitCSSKeyframesRule::ruleAt):
949         (WebCore::WebKitCSSKeyframesRule::length):
950         (WebCore::WebKitCSSKeyframesRule::item):
951         * css/WebKitCSSRegionRule.cpp:
952         (WebCore::WebKitCSSRegionRule::WebKitCSSRegionRule):
953         (WebCore::WebKitCSSRegionRule::~WebKitCSSRegionRule):
954         (WebCore::WebKitCSSRegionRule::cssText):
955         (WebCore::WebKitCSSRegionRule::cssRules):
956         * css/WebKitCSSRegionRule.h:
957         * inspector/InspectorStyleSheet.cpp:
958         (WebCore::asCSSRuleList):
959         (WebCore::InspectorStyleSheet::addRule):
960         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
961
962 2012-03-25  Kentaro Hara  <haraken@chromium.org>
963
964         Remove duplicated GenerateConditionalString() from code generators
965         https://bugs.webkit.org/show_bug.cgi?id=82148
966
967         Reviewed by Adam Barth.
968
969         Previously GenerateConditionalString()s were defined in each code generator,
970         and they were doing the same thing. This patch puts GenerateConditionalString()
971         in CodeGenerator.pm and removes duplicated GenerateConditionalString()s.
972
973         No tests. No change in the generated code.
974
975         * bindings/scripts/CodeGenerator.pm:
976         (GenerateConditionalString):
977         * bindings/scripts/CodeGeneratorCPP.pm:
978         (GenerateHeader):
979         (GenerateImplementation):
980         * bindings/scripts/CodeGeneratorGObject.pm:
981         (GenerateProperty):
982         (GenerateProperties):
983         (GenerateFunction):
984         (WriteData):
985         * bindings/scripts/CodeGeneratorJS.pm:
986         (GenerateHeaderContentHeader):
987         (GenerateImplementationContentHeader):
988         (GenerateHeader):
989         (GenerateImplementation):
990         (GenerateCallbackHeader):
991         (GenerateCallbackImplementation):
992         * bindings/scripts/CodeGeneratorObjC.pm:
993         (GenerateHeader):
994         (GenerateImplementation):
995         * bindings/scripts/CodeGeneratorV8.pm:
996         (GenerateHeader):
997         (GenerateNormalAttrGetter):
998         (GenerateNormalAttrSetter):
999         (GenerateOverloadedFunctionCallback):
1000         (GenerateFunctionCallback):
1001         (GenerateBatchedAttributeData):
1002         (GenerateImplementation):
1003         (GenerateHeaderContentHeader):
1004         (GenerateImplementationContentHeader):
1005         (GenerateCallbackHeader):
1006         (GenerateCallbackImplementation):
1007
1008 2012-03-25  Kentaro Hara  <haraken@chromium.org>
1009
1010         Move DOMWindowSQLDatabase.* to DOMWindowWebDatabase.*, and move WorkerContextSQLDatabase.* to WorkerContextWebDatabase.*
1011         https://bugs.webkit.org/show_bug.cgi?id=82146
1012
1013         Reviewed by Adam Barth.
1014
1015         Now SQLDatabase is renamed to WebDatabase (See Modules/webdatabase/).
1016         We should move DOMWindowSQLDatabase.* to DOMWindowWebDatabase.*,
1017         and move WorkerContextSQLDatabase.* to WorkerContextWebDatabase.*.
1018         We'll rename the SQL_DATABASE flag to the WEB_DATABASE flag in a follow-up patch.
1019
1020         No tests. No change in behavior.
1021
1022         * Modules/webdatabase/DOMWindowWebDatabase.cpp: Renamed from Source/WebCore/Modules/webdatabase/DOMWindowSQLDatabase.cpp.
1023         (WebCore):
1024         (WebCore::DOMWindowWebDatabase::openDatabase):
1025         * Modules/webdatabase/DOMWindowWebDatabase.h: Renamed from Source/WebCore/Modules/webdatabase/DOMWindowSQLDatabase.h.
1026         (WebCore):
1027         (DOMWindowWebDatabase):
1028         (WebCore::DOMWindowWebDatabase::DOMWindowWebDatabase):
1029         (WebCore::DOMWindowWebDatabase::~DOMWindowWebDatabase):
1030         * Modules/webdatabase/DOMWindowWebDatabase.idl: Renamed from Source/WebCore/Modules/webdatabase/DOMWindowSQLDatabase.idl.
1031         * Modules/webdatabase/WorkerContextWebDatabase.cpp: Renamed from Source/WebCore/Modules/webdatabase/WorkerContextSQLDatabase.cpp.
1032         (WebCore):
1033         (WebCore::WorkerContextWebDatabase::openDatabase):
1034         (WebCore::WorkerContextWebDatabase::openDatabaseSync):
1035         * Modules/webdatabase/WorkerContextWebDatabase.h: Renamed from Source/WebCore/Modules/webdatabase/WorkerContextSQLDatabase.h.
1036         (WebCore):
1037         (WorkerContextWebDatabase):
1038         (WebCore::WorkerContextWebDatabase::WorkerContextWebDatabase):
1039         (WebCore::WorkerContextWebDatabase::~WorkerContextWebDatabase):
1040         * Modules/webdatabase/WorkerContextWebDatabase.idl: Renamed from Source/WebCore/Modules/webdatabase/WorkerContextSQLDatabase.idl.
1041
1042         * DerivedSources.make:
1043         * DerivedSources.pri:
1044         * GNUmakefile.list.am:
1045         * Target.pri:
1046         * WebCore.gypi:
1047         * WebCore.vcproj/WebCore.vcproj:
1048         * WebCore.xcodeproj/project.pbxproj:
1049
1050 2012-03-25  Philip Rogers  <pdr@google.com>
1051
1052         Avoid race condition when iterating over pending resources
1053         https://bugs.webkit.org/show_bug.cgi?id=82115
1054
1055         Reviewed by Nikolas Zimmermann.
1056
1057         We can hit a race condition in SVGStyledElement::buildPendingResourcesIfNeeded
1058         where pending elements can become non-pending while we iterate over them.
1059
1060         This patch cleans up buildPendingResourcesIfNeeded and re-works how pending
1061         resources are removed. Because pending resources can be modified while
1062         iterating over them, we introduce m_pendingResourcesForRemoval that
1063         holds pending resources that are marked for removal. Instead of iterating
1064         over this list we simply remove each pending resource from
1065         m_pendingResourcesForRemoval; if a pending resource is modified or removed
1066         during the processing of another pending resource this list is updated before
1067         the next element can be accessed.
1068
1069         This change also removes removePendingResourceForElement which is no longer
1070         referenced.
1071
1072         Test: http/tests/svg/change-id-with-pending-resources.html
1073
1074         * svg/SVGDocumentExtensions.cpp:
1075         (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
1076         (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
1077         (WebCore::SVGDocumentExtensions::removePendingResourceForRemoval):
1078         (WebCore):
1079         (WebCore::SVGDocumentExtensions::markPendingResourcesForRemoval):
1080         (WebCore::SVGDocumentExtensions::removeElementFromPendingResourcesForRemoval):
1081         * svg/SVGDocumentExtensions.h:
1082         (SVGDocumentExtensions):
1083         * svg/SVGStyledElement.cpp:
1084         (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded):
1085
1086 2012-03-25  Arvid Nilsson  <anilsson@rim.com>
1087
1088         [BlackBerry] Accelerated compositing layers fail to render when using WebPageCompositor
1089         https://bugs.webkit.org/show_bug.cgi?id=82104
1090         RIM PR: 145963
1091
1092         Reviewed by Rob Buis.
1093
1094         The embedder may use vertex buffers, which affected the interpretation
1095         our vertex array pointers from memory pointers to offsets into a vertex
1096         buffer. The resulting geometry often resulted in no visible layers on
1097         screen.
1098
1099         Fixed by getting rid of any bound buffer when we enter
1100         LayerRenderer::drawLayers().
1101
1102         * platform/graphics/blackberry/LayerRenderer.cpp:
1103         (WebCore::LayerRenderer::drawLayers):
1104
1105 2012-03-24  Nat Duca  <nduca@chromium.org>
1106
1107         [chromium] Instrument gesture animations with async traces
1108         https://bugs.webkit.org/show_bug.cgi?id=82076
1109
1110         Reviewed by Adrienne Walker.
1111
1112         * platform/ActivePlatformGestureAnimation.cpp:
1113         (WebCore::ActivePlatformGestureAnimation::~ActivePlatformGestureAnimation):
1114         (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
1115         * platform/PlatformGestureCurve.h:
1116         (PlatformGestureCurve):
1117         * platform/TouchpadFlingPlatformGestureCurve.h:
1118         (WebCore::TouchpadFlingPlatformGestureCurve::debugName):
1119         * platform/WheelFlingPlatformGestureCurve.h:
1120         (WebCore::WheelFlingPlatformGestureCurve::debugName):
1121         * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
1122         (WebCore::CCActiveGestureAnimation::CCActiveGestureAnimation):
1123         (WebCore::CCActiveGestureAnimation::~CCActiveGestureAnimation):
1124         * platform/graphics/chromium/cc/CCGestureCurve.h:
1125         (CCGestureCurve):
1126
1127 2012-03-24  Jeffrey Pfau  <jpfau@apple.com>
1128
1129         XML error document creation should not fire mutation events
1130         https://bugs.webkit.org/show_bug.cgi?id=80765
1131
1132         Reviewed by Adam Barth.
1133
1134         Broke two tests that expected the old behavior, which have now been updated.
1135
1136         * xml/XMLErrors.cpp:
1137         (WebCore::createXHTMLParserErrorHeader):
1138         (WebCore::XMLErrors::insertErrorMessageBlock):
1139
1140 2012-03-24  Florin Malita  <fmalita@google.com>
1141
1142         ForeignObject content is zoomed two times
1143         https://bugs.webkit.org/show_bug.cgi?id=76282
1144
1145         Reviewed by Nikolas Zimmermann.
1146
1147         Test: svg/zoom/page/zoom-foreign-content.svg
1148
1149         Reset the effective zoom property for FO-nested content to avoid
1150         having the zoom factor applied multiple times (zooming is handled by
1151         the top level SVG root element).
1152
1153         * css/CSSStyleSelector.cpp:
1154         (WebCore::CSSStyleSelector::adjustRenderStyle):
1155
1156 2012-03-24  Chris Fleizach  <cfleizach@apple.com>
1157
1158         AX: Support solution to handle invalid ax text marker
1159         https://bugs.webkit.org/show_bug.cgi?id=82023
1160
1161         Reviewed by Oliver Hunt.
1162
1163         This provides methods to better use text markers so that assistive technologies
1164         can know when they are valid, and can convert them to and from absolute positions.
1165
1166         Test: platform/mac/accessibility/textmarker-routines.html
1167
1168         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1169         (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
1170         (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
1171         (-[WebAccessibilityObjectWrapper _indexForTextMarker:]):
1172         (-[WebAccessibilityObjectWrapper _textMarkerForIndex:]):
1173         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
1174
1175 2012-03-24  Victor Carbune  <vcarbune@adobe.com>
1176
1177         Quick fix for rendering controls regression.
1178         https://bugs.webkit.org/show_bug.cgi?id=82125
1179
1180         Reviewed by Eric Carlson.
1181
1182         Only temporary fix. Tests to cover the problem should be added
1183
1184         * html/shadow/MediaControlElements.cpp:
1185         (WebCore::MediaControlPanelElement::makeOpaque): The display:none
1186         property should be toggled only by the media element now.
1187         (WebCore::MediaControlPanelElement::makeTransparent): The timer
1188         that toggles the dispalay:none shouldn't be used now.
1189
1190 2012-03-24  Kevin Ollivier  <kevino@theolliviers.com>
1191
1192         [wx] Unreviewed. Add header needed for compilation.
1193
1194         * html/shadow/TextFieldDecorationElement.cpp:
1195
1196 2012-03-24  Abhishek Arya  <inferno@chromium.org>
1197
1198         Crash in ApplyStyleCommand::applyInlineStyleToNodeRange.
1199         https://bugs.webkit.org/show_bug.cgi?id=81959
1200
1201         Reviewed by Ryosuke Niwa.
1202
1203         Test: editing/execCommand/apply-style-command-crash.html
1204
1205         * editing/ApplyStyleCommand.cpp:
1206         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): RefPtr the weak
1207         node iterator |node|.
1208         * editing/ApplyStyleCommand.h:
1209         (ApplyStyleCommand): convert |startNode| and |pastEndNode| into PassRefPtr.
1210
1211 2012-03-24  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1212
1213         Unreviewed, build fix since we use "-Werror=unused-but-set-variable".
1214
1215         The variable 'it' was set at TextureMapperShaderManager.h:110 but never used.
1216
1217         * platform/graphics/texmap/TextureMapperShaderManager.h:
1218         (WebCore::TextureMapperShaderManager::getShaderProgram):
1219
1220 2012-03-24  Zeno Albisser  <zeno@webkit.org>
1221
1222         [Qt][WK2] Make TextureMapperShaderManager::getShaderProgram() not be a template.
1223         https://bugs.webkit.org/show_bug.cgi?id=82049
1224
1225         Change the getShaderProgram() function to not be a template.
1226         This is a workaround for a compiler bug that leads to an assert
1227         when compiling in debug mode on mac.
1228
1229         Reviewed by Noam Rosenthal.
1230
1231         * platform/graphics/texmap/TextureMapperGL.cpp:
1232         (WebCore::TextureMapperGL::drawTexture):
1233         (WebCore::TextureMapperGL::beginClip):
1234         * platform/graphics/texmap/TextureMapperShaderManager.h:
1235         (TextureMapperShaderProgram):
1236         (WebCore::TextureMapperShaderManager::getShaderProgram):
1237         (TextureMapperShaderManager):
1238
1239 2012-03-23  Shawn Singh  <shawnsingh@chromium.org>
1240
1241         [chromium] Incorrect replica originTransform used in CCDamageTracker
1242         https://bugs.webkit.org/show_bug.cgi?id=82118
1243
1244         Reviewed by Adrienne Walker.
1245
1246         Unit test added to CCDamageTrackerTest.cpp
1247
1248         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
1249         (WebCore::CCDamageTracker::extendDamageForRenderSurface):
1250
1251 2012-03-23  Dana Jansens  <danakj@chromium.org>
1252
1253         [chromium] When prepainting fails, tiles dirty rects may be cleared
1254         https://bugs.webkit.org/show_bug.cgi?id=82107
1255
1256         Reviewed by Adrienne Walker.
1257
1258         When prepainting, if a tile is unable to be reserved due to memory
1259         limits, we bail out of prepareToUpdateTiles. But we would have
1260         cleared the dirty rect of any previous tiles. This leaves them
1261         in a bad state where their textures are reserved, but their textureIds
1262         are set to 0, and they are not marked dirty. This means that they will
1263         not be updated and displayed if they become visible, since it is
1264         assumed that valid textures with zero textureId must have a dirty
1265         region.
1266
1267         We fix this by not clearing the dirty rects until we know we are
1268         going to update the layer.
1269
1270         Unit test: TiledLayerChromiumTest.pushTilesAfterIdlePaintFailed
1271
1272         * platform/graphics/chromium/TiledLayerChromium.cpp:
1273         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1274         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1275         (WebCore::CCTiledLayerImpl::hasTextureIdForTileAt):
1276         (WebCore):
1277         * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
1278         (CCTiledLayerImpl):
1279
1280 2012-03-23  Stephanie Lewis  <slewis@apple.com>
1281
1282         https://bugs.webkit.org/show_bug.cgi?id=81963 WebProcess can get stuck in GC during many low memory signals.
1283         <rdar://problem/11094830> WebProcess appears to get stuck in its GC handler (81963).
1284         Remove the call to garbage collect  in low memory signal handler.  Did some testing with hitting the low memory handler
1285         during Membuster and we would get back at most 100k - 200k.  That isn't enough to help the system, and in 
1286         that state the GC collection can take a substantial amount of time.
1287
1288         Reviewed by Geoff Garen.
1289
1290         Performance Change, no change in behavior.
1291
1292         * platform/mac/MemoryPressureHandlerMac.mm:
1293         (WebCore::MemoryPressureHandler::releaseMemory):
1294
1295 2012-03-23  W. James MacLean  <wjmaclean@chromium.org>
1296
1297         [chromium] CCLayerTreeHostImpl::scrollBegin() should return ScrollFailed for CCInputHandlerClient::Gesture type when wheel handlers found.
1298         https://bugs.webkit.org/show_bug.cgi?id=82106
1299
1300         Reviewed by Adrienne Walker.
1301
1302         Existing unit tests updated.
1303
1304         With gesture scroll events now being handled as mouse wheel events, we should not start a gesture scroll when
1305         wheel handlers are present.
1306
1307         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1308         (WebCore::CCLayerTreeHostImpl::scrollBegin):
1309
1310 2012-03-23  Adam Barth  <abarth@webkit.org>
1311
1312         Move Notifications APIs from WorkerContext.idl to WorkerContextNotifications.idl
1313         https://bugs.webkit.org/show_bug.cgi?id=79635
1314
1315         Reviewed by Kentaro Hara.
1316
1317         This patch moves the NotificationCenter from WorkerContext to
1318         WorkerContextNotificiations, reducing clutter in WorkerContext.  After
1319         this patch, Notifications are almost entirely contained in the
1320         notifications directory.
1321
1322         * CMakeLists.txt:
1323         * DerivedSources.make:
1324         * DerivedSources.pri:
1325         * GNUmakefile.list.am:
1326         * Target.pri:
1327         * WebCore.gypi:
1328         * WebCore.vcproj/WebCore.vcproj:
1329         * WebCore.xcodeproj/project.pbxproj:
1330         * workers/WorkerContext.cpp:
1331         (WebCore::WorkerContext::~WorkerContext):
1332         * workers/WorkerContext.h:
1333         (WebCore):
1334         (WorkerContext):
1335         * workers/WorkerContext.idl:
1336
1337 2012-03-23  Michal Mocny  <mmocny@google.com>
1338
1339         [chromium] RootLayer was not being checked for null causing segfaults very rarely.
1340         https://bugs.webkit.org/show_bug.cgi?id=82111
1341
1342         Reviewed by Adrienne Walker.
1343
1344         * platform/graphics/chromium/LayerRendererChromium.cpp:
1345         (WebCore::LayerRendererChromium::beginDrawingFrame):
1346         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1347         (WebCore::CCLayerTreeHostImpl::drawLayers):
1348
1349 2012-03-23  Shawn Singh  <shawnsingh@chromium.org>
1350
1351         [chromium] Fix race bug that clobbers CCLayerImpl updateRect
1352         https://bugs.webkit.org/show_bug.cgi?id=82109
1353
1354         Reviewed by Dirk Pranke.
1355
1356         If the main thread commits twice before the impl thread actually
1357         draws, then the updateRect of the first frame gets lost forever,
1358         and not propagated to the damage tracker.
1359
1360         The solution is to accumulate the updateRect. The CCLayerImpl
1361         updateRect is already being correctly cleared at the appropriate
1362         time after drawing.
1363
1364         Unit test added to LayerChromiumTest.cpp.
1365
1366         * platform/graphics/chromium/LayerChromium.cpp:
1367         (WebCore::LayerChromium::pushPropertiesTo):
1368
1369 2012-03-23  Rafael Weinstein  <rafaelw@chromium.org>
1370
1371         [MutationObservers] attributeFilter should be case sensitive at all times
1372         https://bugs.webkit.org/show_bug.cgi?id=81822
1373
1374         Reviewed by Ryosuke Niwa.
1375
1376         This removes the behavior in MutationObserverRegistration which treats
1377         attributeFilter as case insensitive for HTML elements in HTML documents.
1378
1379         Relevant tests have been updated.
1380
1381         * dom/MutationObserverRegistration.cpp:
1382         (WebCore::MutationObserverRegistration::resetObservation):
1383         (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
1384         * dom/MutationObserverRegistration.h:
1385         (MutationObserverRegistration):
1386
1387 2012-03-23  Kentaro Hara  <haraken@chromium.org>
1388
1389         Move WebSocket APIs from WorkerContext.idl to WorkerContextWebSocket.idl
1390         https://bugs.webkit.org/show_bug.cgi?id=79663
1391
1392         Reviewed by Adam Barth.
1393
1394         For WebKit modularization, this patch moves WebSocket APIs from WorkerContext.idl
1395         to WorkerContextWebSocket.idl.
1396
1397         Tests: http/tests/websocket/tests/hybi/workers/* (No change in test results)
1398
1399         * CMakeLists.txt:
1400         * DerivedSources.make:
1401         * DerivedSources.pri:
1402         * GNUmakefile.list.am:
1403         * Modules/websockets/WorkerContextWebSocket.idl: Added.
1404         * WebCore.gypi:
1405         * WebCore.xcodeproj/project.xcodeproj:
1406         * workers/WorkerContext.idl:
1407
1408 2012-03-23  Parag Radke  <parag@motorola.com>
1409
1410         REGRESSION: can select text of an input button
1411         https://bugs.webkit.org/show_bug.cgi?id=13624
1412
1413         Reviewed by Ryosuke Niwa.
1414
1415         Text in a button should never have a selection background of its own painted
1416         but if the button is inside an editable area, then the whole button should
1417         have it's selection background painted.
1418
1419         Test: editing/selection/selection-button-text.html
1420
1421         * rendering/RenderButton.h:
1422         Added implementation for the virtual function canBeSelectionLeaf()
1423         which returns true if the button renderer is editable, false other wise.
1424         * rendering/RenderTextFragment.h:
1425         Added implementation for the virtual function canBeSelectionLeaf()
1426         which returns true if the text fragment renderer is editable, false other wise.
1427
1428 2012-03-23  Eric Carlson  <eric.carlson@apple.com>
1429
1430         Remove unnecessary ASSERT from LoadableTextTrack::trackElementIndex
1431         https://bugs.webkit.org/show_bug.cgi?id=82095
1432
1433         Reviewed by Dan Bernstein.
1434
1435         No new tests, removed a bogus ASSERT that was sometimes triggered by tests.
1436
1437         * html/track/LoadableTextTrack.cpp:
1438         (WebCore::LoadableTextTrack::trackElementIndex): Remove ASSERT.
1439
1440 2012-03-23  Eric Carlson  <eric.carlson@apple.com>
1441
1442         Layout Test media/video-source-load.html is failing
1443         https://bugs.webkit.org/show_bug.cgi?id=82094
1444
1445         Reviewed by Alexey Proskuryakov.
1446
1447         No new tests, tested by media/video-source-load.html.
1448
1449         * html/HTMLMediaElement.cpp:
1450         (WebCore::HTMLMediaElement::sourceWasAdded): Set m_nextChildNodeToConsider when called 
1451             with networkState == NETWORK_EMPTY because the resource selection algorithm has
1452             not started yet.
1453
1454 2012-03-23  Alexey Proskuryakov  <ap@apple.com>
1455
1456         [Mac] No need for platform-specific ENABLE_BLOB values
1457         https://bugs.webkit.org/show_bug.cgi?id=82102
1458
1459         Reviewed by David Kilzer.
1460
1461         * Configurations/FeatureDefines.xcconfig:
1462
1463 2012-03-23  Kent Tamura  <tkent@chromium.org>
1464
1465         Add TextFieldDecorator and TextFieldDecorationElement
1466         https://bugs.webkit.org/show_bug.cgi?id=80580
1467
1468         Reviewed by Dimitri Glazkov.
1469
1470         These classes will be used to add a decoration icon to a text field
1471         <input> from outside of WebCore. We have a plan to use them in Chromium
1472         port. So this patch doesn't add TextFieldDecorationElement.{cpp,h} to
1473         non-Chromium build files.
1474
1475         How it works:
1476         When a shadow subtree for a text field is created, we ask ChromeClient
1477         to decorate it. ChromeClient appends a TextFieldDecorationElement to the
1478         existing shadow subtree or another shadow tree. A TextFieldDecorator is
1479         associated to a TextFieldDecorationElement, and it provides decoration
1480         icon images and a click handler.
1481
1482         No new tests. This patch won't make any behavior change for now.
1483
1484         * WebCore.gypi: Add TextFieldDecorationElement.cpp and TextFieldDecorationElement.h
1485         * dom/Element.h:
1486         (WebCore::Element::isTextFieldDecoration):
1487         * html/TextFieldInputType.cpp:
1488         (WebCore::TextFieldInputType::createShadowSubtree):
1489         Calls ChromeClient::willAddTextFieldDecorationsTo() and addTextFieldDecorationsTo().
1490         * html/shadow/TextFieldDecorationElement.cpp: Added.
1491         (WebCore::TextFieldDecorator::~TextFieldDecorator):
1492         (WebCore::TextFieldDecorationElement::TextFieldDecorationElement):
1493         (WebCore::TextFieldDecorationElement::create):
1494         (WebCore::TextFieldDecorationElement::isTextFieldDecoration):
1495         (WebCore::TextFieldDecorationElement::updateImage):
1496         (WebCore::TextFieldDecorationElement::customStyleForRenderer):
1497         Sets the size to a square of the font-size.
1498         (WebCore::TextFieldDecorationElement::createRenderer):
1499         Always creates a RenderImage.
1500         (WebCore::TextFieldDecorationElement::attach):
1501         Sets an image for appropriate state.
1502         (WebCore::TextFieldDecorationElement::isMouseFocusable):
1503         (WebCore::TextFieldDecorationElement::defaultEventHandler):
1504         Delegate a click event to the corresponding function of TextFieldDecorator.
1505         * html/shadow/TextFieldDecorationElement.h: Added.
1506         (TextFieldDecorator): Added.
1507         (TextFieldDecorationElement): Added.
1508         (WebCore::toTextFieldDecorationElement): Added.
1509         * page/ChromeClient.h:
1510         (WebCore::ChromeClient::willAddTextFieldDecorationsTo): Add an empty implementation.
1511         (WebCore::ChromeClient::addTextFieldDecorationsTo): ditto.
1512
1513 2012-03-23  Adam Klein  <adamk@chromium.org>
1514
1515         Match DOM4 spec with respect to DocumentFragment insertion
1516         https://bugs.webkit.org/show_bug.cgi?id=82089
1517
1518         Reviewed by Ryosuke Niwa.
1519
1520         DOM4 specifies the behavior of appendChild, insertBefore, and replaceChild
1521         in terms of "mutation algorithms":
1522
1523         http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#mutation-algorithms
1524
1525         This change updates WebKit to match, in particular with regard to DocumentFragments.
1526         Previously, ContainerNode would remove nodes one at a time, then add them to the new parent.
1527         When combined with MutationObservers, this results in overly-verbose mutation records.
1528         Now we create as few records as possible, matching the spec as well as Gecko's implementation
1529         of MutationObservers.
1530
1531         Note that we still need to check validity each time through the loop,
1532         since inserting a node may dispatch events. In a future change, I hope
1533         to move these events so that they fire only after all nodes are inserted,
1534         but that's too much to tackle all in one.
1535
1536         Tests: fast/mutation/document-fragment-insertion.html
1537
1538         * dom/ContainerNode.cpp:
1539         (WebCore::collectChildrenAndRemoveFromOldParent): New helper method
1540         combining collectTargetNodes() with the removal of the collected nodes from
1541         their old parent, if any.
1542         (WebCore::ContainerNode::insertBefore): Use new helper method instead
1543         of removing nodes one at a time from the fragment.
1544         (WebCore::ContainerNode::replaceChild): ditto. Also removed some redundant asserts
1545         and moved the "do nothing" check out of the loop.
1546         (WebCore::ContainerNode::appendChild): Use new helper method.
1547
1548 2012-03-23  Stephen White  <senorblanco@chromium.org>
1549
1550         [skia] Switch to Skia's implementation of the feMorphology filter.
1551         https://bugs.webkit.org/show_bug.cgi?id=82085
1552
1553         Reviewed by Dirk Schulze.
1554
1555         Covered by existing tests in svg/filters/.
1556
1557         * WebCore.gypi:
1558         * platform/graphics/filters/FEMorphology.h:
1559         (FEMorphology):
1560         * platform/graphics/filters/skia/FEMorphologySkia.cpp: Added.
1561         (WebCore):
1562         (WebCore::FEMorphology::platformApplySkia):
1563
1564 2012-03-23  Adam Barth  <abarth@webkit.org>
1565
1566         Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 3)
1567         https://bugs.webkit.org/show_bug.cgi?id=82027
1568
1569         Reviewed by Kentaro Hara.
1570
1571         Rather than watching for willDetachPage, NotificationCenter can just
1572         override ActiveDOMObject::stop directly to be notified when it needs to
1573         stop.
1574
1575         Switching NotificationCenter over to using ActiveDOMObject callbacks
1576         frees DOMWindowNotification to implement reconnectFrame.  However, this
1577         is only really a victory in princple because NotificationCenter always
1578         returns false for canSuspend(), which means we'll never actually use
1579         the reconnectFrame functionality.  However, this patch does move us
1580         closer to the time when NotificationCenter can implement
1581         ActiveDOMObject::suspend/resume to play nice with the PageCache.
1582
1583         * notifications/DOMWindowNotifications.cpp:
1584         (WebCore::DOMWindowNotifications::disconnectFrame):
1585         (WebCore::DOMWindowNotifications::reconnectFrame):
1586         * notifications/DOMWindowNotifications.h:
1587         (DOMWindowNotifications):
1588         * notifications/NotificationCenter.cpp:
1589         (WebCore::NotificationCenter::NotificationCenter):
1590         (WebCore::NotificationCenter::stop):
1591         * notifications/NotificationCenter.h:
1592         (NotificationCenter):
1593
1594 2012-03-23  Daniel Cheng  <dcheng@chromium.org>
1595
1596         [chromium] Support file drag out using DataTransferItemList::add(File)
1597         https://bugs.webkit.org/show_bug.cgi?id=81261
1598
1599         Reviewed by Tony Chang.
1600
1601         Original patch by Varun Jain <varunjain@chromium.org>.
1602         I've updated the original patch to remove 'downloadurl' handling since it's not tested, nor
1603         is it necessary for File objects, since File objects correspond to a native filesystem path.
1604
1605         Test: fast/events/drag-dataTransferItemList-file-handling.html
1606
1607         * platform/chromium/DataTransferItemListChromium.cpp:
1608         (WebCore::DataTransferItemListChromium::add):
1609
1610 2012-03-23  Zan Dobersek  <zandobersek@gmail.com>
1611
1612         [GObject bindings] Supplemental interfaces are not disabled with the "Conditional" attribute
1613         https://bugs.webkit.org/show_bug.cgi?id=80030
1614
1615         Reviewed by Martin Robinson.
1616
1617         Changes in CodeGeneratorGObject.pm:
1618         - group implementation of private helpers and guard them inside
1619         an ifdef if a root conditional attribute is present.
1620         - always define the type of a GObject binding, even if the root
1621         conditional feature is not enabled
1622         - the methods are generated as well, but are simply stubs if the
1623         feature is not enabled, throwing a warning upon interaction.
1624         - if the method itself is guarded by a conditional attribute,
1625         the stub implementation gains one more level of depth, throwing
1626         a warning if the method's conditional feature is not enabled
1627         but the root conditional feature is.
1628         - small style fixes in random places.
1629
1630         Also changed are GObject baselines for binding tests.
1631
1632         No new tests - no new testable functionality.
1633
1634         * bindings/gobject/GNUmakefile.am:
1635         * bindings/scripts/CodeGeneratorGObject.pm:
1636         (HumanReadableConditional):
1637         (GenerateConditionalWarn):
1638         (GenerateProperty):
1639         (GenerateProperties):
1640         (GenerateFunction):
1641         (GenerateFunctions):
1642         (GenerateCFile):
1643         (GenerateEventTargetIface):
1644         (Generate):
1645         (WriteData):
1646         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
1647         (WebKit):
1648         (WebKit::kit):
1649         (WebKit::wrapFloat64Array):
1650         (webkit_dom_float64array_finalize):
1651         (webkit_dom_float64array_foo):
1652         * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
1653         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
1654         (WebKit):
1655         (WebKit::kit):
1656         (WebKit::wrapTestActiveDOMObject):
1657         (webkit_dom_test_active_dom_object_finalize):
1658         (webkit_dom_test_active_dom_object_exciting_function):
1659         (webkit_dom_test_active_dom_object_post_message):
1660         (webkit_dom_test_active_dom_object_get_exciting_attr):
1661         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObjectPrivate.h:
1662         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
1663         (WebKit):
1664         (WebKit::kit):
1665         (WebKit::core):
1666         (WebKit::wrapTestCallback):
1667         (webkit_dom_test_callback_finalize):
1668         (webkit_dom_test_callback_callback_with_no_param):
1669         (webkit_dom_test_callback_callback_with_class1param):
1670         (webkit_dom_test_callback_callback_with_class2param):
1671         (webkit_dom_test_callback_callback_with_non_bool_return_type):
1672         (webkit_dom_test_callback_callback_with_string_list):
1673         * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
1674         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp:
1675         (WebKit):
1676         (WebKit::kit):
1677         (WebKit::wrapTestCustomNamedGetter):
1678         (webkit_dom_test_custom_named_getter_finalize):
1679         (webkit_dom_test_custom_named_getter_another_function):
1680         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetterPrivate.h:
1681         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
1682         (WebKit):
1683         (WebKit::kit):
1684         (WebKit::wrapTestEventConstructor):
1685         (webkit_dom_test_event_constructor_finalize):
1686         (webkit_dom_test_event_constructor_get_attr1):
1687         (webkit_dom_test_event_constructor_get_attr2):
1688         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructorPrivate.h:
1689         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
1690         (WebKit):
1691         (WebKit::core):
1692         (WebKit::wrapTestEventTarget):
1693         (webkit_dom_test_event_target_finalize):
1694         (webkit_dom_test_event_target_item):
1695         (webkit_dom_test_event_target_dispatch_event):
1696         * bindings/scripts/test/GObject/WebKitDOMTestEventTargetPrivate.h:
1697         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
1698         (WebKit):
1699         (WebKit::kit):
1700         (WebKit::core):
1701         (WebKit::wrapTestInterface):
1702         (webkit_dom_test_interface_finalize):
1703         (webkit_dom_test_interface_supplemental_method1):
1704         (webkit_dom_test_interface_supplemental_method2):
1705         (webkit_dom_test_interface_supplemental_method4):
1706         (webkit_dom_test_interface_get_supplemental_str1):
1707         (webkit_dom_test_interface_get_supplemental_str2):
1708         (webkit_dom_test_interface_set_supplemental_str2):
1709         (webkit_dom_test_interface_get_supplemental_node):
1710         (webkit_dom_test_interface_set_supplemental_node):
1711         * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
1712         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
1713         (WebKit):
1714         (WebKit::kit):
1715         (WebKit::wrapTestMediaQueryListListener):
1716         (webkit_dom_test_media_query_list_listener_finalize):
1717         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
1718         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp:
1719         (WebKit):
1720         (WebKit::kit):
1721         (WebKit::wrapTestNamedConstructor):
1722         (webkit_dom_test_named_constructor_finalize):
1723         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructorPrivate.h:
1724         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1725         (WebKit):
1726         (WebKit::kit):
1727         (WebKit::core):
1728         (WebKit::wrapTestObj):
1729         (webkit_dom_test_obj_finalize):
1730         (webkit_dom_test_obj_set_property):
1731         (webkit_dom_test_obj_get_property):
1732         (webkit_dom_test_obj_constructed):
1733         (webkit_dom_test_obj_class_init):
1734         (webkit_dom_test_obj_init):
1735         (webkit_dom_test_obj_void_method):
1736         (webkit_dom_test_obj_void_method_with_args):
1737         (webkit_dom_test_obj_int_method):
1738         (webkit_dom_test_obj_int_method_with_args):
1739         (webkit_dom_test_obj_obj_method):
1740         (webkit_dom_test_obj_obj_method_with_args):
1741         (webkit_dom_test_obj_method_with_sequence_arg):
1742         (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
1743         (webkit_dom_test_obj_serialized_value):
1744         (webkit_dom_test_obj_idb_key):
1745         (webkit_dom_test_obj_options_object):
1746         (webkit_dom_test_obj_method_with_exception):
1747         (webkit_dom_test_obj_with_script_state_void):
1748         (webkit_dom_test_obj_with_script_state_obj):
1749         (webkit_dom_test_obj_with_script_state_void_exception):
1750         (webkit_dom_test_obj_with_script_state_obj_exception):
1751         (webkit_dom_test_obj_with_script_execution_context):
1752         (webkit_dom_test_obj_with_script_execution_context_and_script_state):
1753         (webkit_dom_test_obj_with_script_execution_context_and_script_state_obj_exception):
1754         (webkit_dom_test_obj_with_script_execution_context_and_script_state_with_spaces):
1755         (webkit_dom_test_obj_method_with_optional_arg):
1756         (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
1757         (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
1758         (webkit_dom_test_obj_method_with_optional_string):
1759         (webkit_dom_test_obj_method_with_optional_string_is_undefined):
1760         (webkit_dom_test_obj_method_with_optional_string_is_null_string):
1761         (webkit_dom_test_obj_conditional_method1):
1762         (webkit_dom_test_obj_conditional_method2):
1763         (webkit_dom_test_obj_conditional_method3):
1764         (webkit_dom_test_obj_class_method):
1765         (webkit_dom_test_obj_class_method_with_optional):
1766         (webkit_dom_test_obj_overloaded_method1):
1767         (webkit_dom_test_obj_convert1):
1768         (webkit_dom_test_obj_convert2):
1769         (webkit_dom_test_obj_convert3):
1770         (webkit_dom_test_obj_convert4):
1771         (webkit_dom_test_obj_convert5):
1772         (webkit_dom_test_obj_mutable_point_function):
1773         (webkit_dom_test_obj_immutable_point_function):
1774         (webkit_dom_test_obj_orange):
1775         (webkit_dom_test_obj_strict_function):
1776         (webkit_dom_test_obj_get_read_only_int_attr):
1777         (webkit_dom_test_obj_get_read_only_string_attr):
1778         (webkit_dom_test_obj_get_read_only_test_obj_attr):
1779         (webkit_dom_test_obj_get_short_attr):
1780         (webkit_dom_test_obj_set_short_attr):
1781         (webkit_dom_test_obj_get_unsigned_short_attr):
1782         (webkit_dom_test_obj_set_unsigned_short_attr):
1783         (webkit_dom_test_obj_get_int_attr):
1784         (webkit_dom_test_obj_set_int_attr):
1785         (webkit_dom_test_obj_get_long_long_attr):
1786         (webkit_dom_test_obj_set_long_long_attr):
1787         (webkit_dom_test_obj_get_unsigned_long_long_attr):
1788         (webkit_dom_test_obj_set_unsigned_long_long_attr):
1789         (webkit_dom_test_obj_get_string_attr):
1790         (webkit_dom_test_obj_set_string_attr):
1791         (webkit_dom_test_obj_get_test_obj_attr):
1792         (webkit_dom_test_obj_set_test_obj_attr):
1793         (webkit_dom_test_obj_get_xml_obj_attr):
1794         (webkit_dom_test_obj_set_xml_obj_attr):
1795         (webkit_dom_test_obj_get_create):
1796         (webkit_dom_test_obj_set_create):
1797         (webkit_dom_test_obj_get_reflected_string_attr):
1798         (webkit_dom_test_obj_set_reflected_string_attr):
1799         (webkit_dom_test_obj_get_reflected_integral_attr):
1800         (webkit_dom_test_obj_set_reflected_integral_attr):
1801         (webkit_dom_test_obj_get_reflected_unsigned_integral_attr):
1802         (webkit_dom_test_obj_set_reflected_unsigned_integral_attr):
1803         (webkit_dom_test_obj_get_reflected_boolean_attr):
1804         (webkit_dom_test_obj_set_reflected_boolean_attr):
1805         (webkit_dom_test_obj_get_reflected_url_attr):
1806         (webkit_dom_test_obj_set_reflected_url_attr):
1807         (webkit_dom_test_obj_get_reflected_custom_integral_attr):
1808         (webkit_dom_test_obj_set_reflected_custom_integral_attr):
1809         (webkit_dom_test_obj_get_reflected_custom_boolean_attr):
1810         (webkit_dom_test_obj_set_reflected_custom_boolean_attr):
1811         (webkit_dom_test_obj_get_reflected_custom_url_attr):
1812         (webkit_dom_test_obj_set_reflected_custom_url_attr):
1813         (webkit_dom_test_obj_get_attr_with_getter_exception):
1814         (webkit_dom_test_obj_set_attr_with_getter_exception):
1815         (webkit_dom_test_obj_get_attr_with_setter_exception):
1816         (webkit_dom_test_obj_set_attr_with_setter_exception):
1817         (webkit_dom_test_obj_get_string_attr_with_getter_exception):
1818         (webkit_dom_test_obj_set_string_attr_with_getter_exception):
1819         (webkit_dom_test_obj_get_string_attr_with_setter_exception):
1820         (webkit_dom_test_obj_set_string_attr_with_setter_exception):
1821         (webkit_dom_test_obj_get_with_script_state_attribute):
1822         (webkit_dom_test_obj_set_with_script_state_attribute):
1823         (webkit_dom_test_obj_get_with_script_execution_context_attribute):
1824         (webkit_dom_test_obj_set_with_script_execution_context_attribute):
1825         (webkit_dom_test_obj_get_with_script_state_attribute_raises):
1826         (webkit_dom_test_obj_set_with_script_state_attribute_raises):
1827         (webkit_dom_test_obj_get_with_script_execution_context_attribute_raises):
1828         (webkit_dom_test_obj_set_with_script_execution_context_attribute_raises):
1829         (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_attribute):
1830         (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_attribute):
1831         (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_attribute_raises):
1832         (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_attribute_raises):
1833         (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_with_spaces_attribute):
1834         (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_with_spaces_attribute):
1835         (webkit_dom_test_obj_get_conditional_attr1):
1836         (webkit_dom_test_obj_set_conditional_attr1):
1837         (webkit_dom_test_obj_get_conditional_attr2):
1838         (webkit_dom_test_obj_set_conditional_attr2):
1839         (webkit_dom_test_obj_get_conditional_attr3):
1840         (webkit_dom_test_obj_set_conditional_attr3):
1841         (webkit_dom_test_obj_get_content_document):
1842         (webkit_dom_test_obj_get_mutable_point):
1843         (webkit_dom_test_obj_set_mutable_point):
1844         (webkit_dom_test_obj_get_immutable_point):
1845         (webkit_dom_test_obj_set_immutable_point):
1846         (webkit_dom_test_obj_get_strict_float):
1847         (webkit_dom_test_obj_set_strict_float):
1848         (webkit_dom_test_obj_get_description):
1849         (webkit_dom_test_obj_get_id):
1850         (webkit_dom_test_obj_set_id):
1851         (webkit_dom_test_obj_get_hash):
1852         * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
1853         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
1854         (WebKit):
1855         (WebKit::kit):
1856         (WebKit::core):
1857         (WebKit::wrapTestSerializedScriptValueInterface):
1858         (webkit_dom_test_serialized_script_value_interface_finalize):
1859         (webkit_dom_test_serialized_script_value_interface_accept_transfer_list):
1860         (webkit_dom_test_serialized_script_value_interface_multi_transfer_list):
1861         (webkit_dom_test_serialized_script_value_interface_get_value):
1862         (webkit_dom_test_serialized_script_value_interface_set_value):
1863         (webkit_dom_test_serialized_script_value_interface_get_readonly_value):
1864         (webkit_dom_test_serialized_script_value_interface_get_cached_value):
1865         (webkit_dom_test_serialized_script_value_interface_set_cached_value):
1866         (webkit_dom_test_serialized_script_value_interface_get_cached_readonly_value):
1867         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h:
1868
1869 2012-03-23  Dana Jansens  <danakj@chromium.org>
1870
1871         [chromium] Record painted pixel counts for measuring effectiveness of per-tile painting
1872         https://bugs.webkit.org/show_bug.cgi?id=82057
1873
1874         Reviewed by Adrienne Walker.
1875
1876         Adds painted pixel metrics to CCOverdrawMetrics class, and calls in
1877         to report painted areas when updating tiles in the TiledLayerChromium
1878         class.
1879
1880         Unit test: TiledLayerChromiumTest.opaqueContentsRegion
1881                    TiledLayerChromiumTest.pixelsPaintedMetrics
1882
1883         * platform/graphics/chromium/TiledLayerChromium.cpp:
1884         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1885         * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
1886         (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
1887         (WebCore::CCOverdrawMetrics::didPaint):
1888         (WebCore):
1889         (WebCore::CCOverdrawMetrics::recordMetricsInternal):
1890         * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
1891         (CCOverdrawMetrics):
1892         (WebCore::CCOverdrawMetrics::pixelsPainted):
1893
1894 2012-03-23  Abhishek Arya  <inferno@chromium.org>
1895
1896         Crash in RenderBlock::splitBlocks.
1897         https://bugs.webkit.org/show_bug.cgi?id=81926
1898
1899         Reviewed by Julien Chaffraix.
1900
1901         We are updating the :after content before calling splitFlow. The :after content
1902         gets blown away since it will go to the continuation. beforeChild was earlier
1903         set to the first child. Being the last anonymous block, its children gets pulled
1904         up in collapseAnonymousBoxChild and it gets destroyed. So, we need to update
1905         beforeChild value. 
1906
1907         Test: fast/multicol/span/update-after-content-before-child-crash.html
1908
1909         * rendering/RenderBlock.cpp:
1910         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
1911
1912 2012-03-23  Dana Jansens  <danakj@chromium.org>
1913
1914         [chromium] Improved composited debug borders
1915         https://bugs.webkit.org/show_bug.cgi?id=82071
1916
1917         Reviewed by Adrienne Walker.
1918
1919         Fix the problem with missing debug borders. Since we append quads
1920         to the list front to back now, we draw the quads in the list from
1921         back to front of the list. Which means if the debug quad is added
1922         after the layer it is drawing around, the layer can draw over top
1923         of its debug quad. Reverse the ordering when appending to fix it.
1924
1925         Make the border red around tiles that are checkerboarded. Missing
1926         tiles in non-root layers are drawn clear, so this makes them more
1927         visible.
1928
1929         Put a blue border around each render surface, and a purple border
1930         on their replicas.
1931
1932         No new tests.
1933
1934         * platform/graphics/chromium/cc/CCRenderPass.cpp:
1935         (WebCore):
1936         (WebCore::CCRenderPass::appendQuadsForLayer):
1937         (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
1938         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1939         (WebCore::CCRenderSurface::hasReplica):
1940         (WebCore):
1941         (WebCore::CCRenderSurface::createReplicaSharedQuadState):
1942         * platform/graphics/chromium/cc/CCRenderSurface.h:
1943         (CCRenderSurface):
1944         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
1945         (WebCore):
1946         (WebCore::CCTiledLayerImpl::appendQuads):
1947
1948 2012-03-23  Simon Fraser  <simon.fraser@apple.com>
1949
1950         Move code that calls setAcceleratesDrawing() on GraphicsLayers into RenderLayerBacking
1951         https://bugs.webkit.org/show_bug.cgi?id=82092
1952
1953         Reviewed by Dean Jackson.
1954
1955         A RenderLayerBacking manages several GraphicsLayers, but RenderLayerCompositor
1956         was only calling setAcceleratesDrawing() on the one it knows about. Fix by moving
1957         this setting code down into RenderLayerBacking.
1958         
1959         RenderLayerCompositor now caches the setAcceleratesDrawing setting, as it does
1960         for other compositing-related settings, so that RenderLayerBacking doesn't have
1961         to grovel for Settings every time.
1962
1963         * rendering/RenderLayerBacking.cpp:
1964         (WebCore::RenderLayerBacking::createGraphicsLayer):
1965         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
1966         * rendering/RenderLayerCompositor.cpp:
1967         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
1968         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
1969         (WebCore::RenderLayerCompositor::updateBacking):
1970         * rendering/RenderLayerCompositor.h:
1971         (WebCore::RenderLayerCompositor::acceleratedDrawingEnabled):
1972         (RenderLayerCompositor):
1973
1974 2012-03-23  Beth Dakin  <bdakin@apple.com>
1975
1976         https://bugs.webkit.org/show_bug.cgi?id=82083
1977
1978         Rubber-stamped by Simon Fraser.
1979
1980         This patch is just a name change. getExistingScrollAnimator() (which was 
1981         added earlier today) is now existingScrollAnimator().
1982         * loader/FrameLoader.cpp:
1983         (WebCore::FrameLoader::transitionToCommitted):
1984         * page/EventHandler.cpp:
1985         (WebCore::EventHandler::handleGestureTapDown):
1986         * page/FrameView.cpp:
1987         (WebCore::FrameView::setAnimatorsAreActive):
1988         * platform/ScrollView.cpp:
1989         (WebCore::ScrollView::updateScrollbars):
1990         * platform/ScrollableArea.cpp:
1991         (WebCore::ScrollableArea::willStartLiveResize):
1992         (WebCore::ScrollableArea::willEndLiveResize):
1993         (WebCore::ScrollableArea::contentAreaWillPaint):
1994         (WebCore::ScrollableArea::mouseEnteredContentArea):
1995         (WebCore::ScrollableArea::mouseExitedContentArea):
1996         (WebCore::ScrollableArea::mouseMovedInContentArea):
1997         (WebCore::ScrollableArea::contentAreaDidShow):
1998         (WebCore::ScrollableArea::contentAreaDidHide):
1999         (WebCore::ScrollableArea::contentsResized):
2000         (WebCore::ScrollableArea::serviceScrollAnimations):
2001         * platform/ScrollableArea.h:
2002         (WebCore::ScrollableArea::existingScrollAnimator):
2003
2004 2012-03-23  Abhishek Arya  <inferno@chromium.org>
2005
2006         Crash due to accessing removed parent lineboxes when clearing selection.
2007         https://bugs.webkit.org/show_bug.cgi?id=81359
2008
2009         Reviewed by Eric Seidel.
2010
2011         Similar to r110323, adds the canUpdateSelectionOnRootLineBoxes
2012         check to more places.
2013
2014         Test: editing/selection/clear-selection-crash.html
2015
2016         * rendering/RenderObject.cpp:
2017         (WebCore::RenderObject::canUpdateSelectionOnRootLineBoxes):
2018         * rendering/RenderSelectionInfo.h:
2019         (WebCore::RenderSelectionInfo::RenderSelectionInfo):
2020         (WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo):
2021
2022 2012-03-23  Beth Dakin  <bdakin@apple.com>
2023
2024         https://bugs.webkit.org/show_bug.cgi?id=82083
2025         Too many ScrollAnimators are allocated on pages with frames
2026
2027         Reviewed by Geoffrey Garen.
2028
2029         This patch adds a new getter to ScrollableArea called 
2030         getExistingScrollAnimator() unlike scrollAnimator() this new function will 
2031         just return null if there is not already a ScrollAnimator. Callers should use 
2032         this new function when they have business with ScrollAnimator that does not 
2033         need to do anything when there are no scrollbars.
2034         * loader/FrameLoader.cpp:
2035         (WebCore::FrameLoader::transitionToCommitted):
2036         * page/EventHandler.cpp:
2037         (WebCore::EventHandler::handleGestureTapDown):
2038         * page/FrameView.cpp:
2039         (WebCore::FrameView::setAnimatorsAreActive):
2040         * platform/ScrollView.cpp:
2041         (WebCore::ScrollView::updateScrollbars):
2042         * platform/ScrollableArea.cpp:
2043         (WebCore::ScrollableArea::willStartLiveResize):
2044         (WebCore::ScrollableArea::willEndLiveResize):
2045         (WebCore::ScrollableArea::contentAreaWillPaint):
2046         (WebCore::ScrollableArea::mouseEnteredContentArea):
2047         (WebCore::ScrollableArea::mouseExitedContentArea):
2048         (WebCore::ScrollableArea::mouseMovedInContentArea):
2049         (WebCore::ScrollableArea::contentAreaDidShow):
2050         (WebCore::ScrollableArea::contentAreaDidHide):
2051         (WebCore::ScrollableArea::willRemoveHorizontalScrollbar):
2052         (WebCore::ScrollableArea::contentsResized):
2053         (WebCore::ScrollableArea::serviceScrollAnimations):
2054         * platform/ScrollableArea.h:
2055         (ScrollableArea):
2056         (WebCore::ScrollableArea::getExistingScrollAnimator):
2057
2058 2012-03-23  Eric Carlson  <eric.carlson@apple.com>
2059
2060         Deal with DOM modifications when evaluating source elements.
2061         https://bugs.webkit.org/show_bug.cgi?id=81163
2062
2063         Reviewed by Alexey Proskuryakov.
2064
2065         Test: media/video-beforeload-remove-source.html
2066
2067         * dom/ContainerNode.cpp: Make NodeVector and collectNodes public, renamed as getChildNodes.
2068         (WebCore::ContainerNode::takeAllChildrenFrom): collectNodes -> getChildNodes.
2069         (WebCore::ContainerNode::willRemove): collectNodes -> getChildNodes.
2070         (WebCore::ContainerNode::willRemoveChildren): collectNodes -> getChildNodes.
2071         (WebCore::ContainerNode::insertedIntoDocument): collectNodes -> getChildNodes.
2072         (WebCore::ContainerNode::removedFromDocument): collectNodes -> getChildNodes.
2073         * dom/ContainerNode.h:
2074         (WebCore::getChildNodes):
2075
2076         * editing/ReplaceSelectionCommand.cpp: Remove unused NodeVector declaration.
2077
2078         * html/HTMLMediaElement.cpp:
2079         (WebCore::HTMLMediaElement::HTMLMediaElement): m_nextChildNodeToConsider and m_currentSourceNode
2080             are now RefPtrs.
2081         (WebCore::HTMLMediaElement::loadTimerFired): Protect HTMLMediaElement from being deleted during
2082             a DOM modification during an event callback.
2083         (WebCore::HTMLMediaElement::load): Ditto.
2084         (WebCore::HTMLMediaElement::selectMediaResource): Set m_nextChildNodeToConsider to the first
2085             child node, it will be the first node considered.
2086         (WebCore::HTMLMediaElement::havePotentialSourceChild): m_nextChildNodeToConsider and m_currentSourceNode
2087             are now RefPtrs.
2088         (WebCore::HTMLMediaElement::selectNextSourceChild): Collect all child nodes in a vector before
2089             looking for <source> nodes because 'beforeload' event handlers can mutate the DOM. Don't
2090             use a <source> that is no longer a child node after 'beforeload'. Use 0 to represent the end
2091             of the child node list because m_nextChildNodeToConsider is now a RefPtr so using the previous 
2092             sentinel, "this", would cause a retain cycle.
2093         (WebCore::HTMLMediaElement::sourceWasAdded):  m_nextChildNodeToConsider and m_currentSourceNode
2094             are now RefPtrs.
2095         (WebCore::HTMLMediaElement::sourceWillBeRemoved): Ditto.
2096         (WebCore::HTMLMediaElement::getPluginProxyParams): Protect HTMLMediaElement from being deleted during
2097             a DOM modification during an event callback.
2098         * html/HTMLMediaElement.h:
2099
2100 2012-03-23  Dean Jackson  <dino@apple.com>
2101
2102         Disable CSS_SHADERS in Apple builds
2103         https://bugs.webkit.org/show_bug.cgi?id=81996
2104
2105         Reviewed by Simon Fraser.
2106
2107         Remove ENABLE_CSS_SHADERS from FeatureDefines. It's now in Platform.h.
2108
2109         * Configurations/FeatureDefines.xcconfig:
2110
2111 2012-03-23  Dave Michael  <dmichael@chromium.org>
2112
2113         Relanding(r111754): HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
2114         https://bugs.webkit.org/show_bug.cgi?id=80428
2115
2116         Reviewed by Eric Seidel and Ryosuke Niwa.
2117
2118         Make HTMLPluginElement release its m_NPObject in detach() to break a
2119         reference-counting cycle that happens on reload or navigation. With this
2120         change, HTMLPlugInElement::removedFromDocument is unnecessary, so it
2121         was removed. Note that Releasing m_NPObject does not result in a call to
2122         the plugin; it simply releases a reference count on the wrapper object
2123         for this HTMLPlugInElement. (The plugin's NPP_Deallocate is invoked
2124         when the render tree is destroyed, when PluginView calls
2125         PluginPackage::unload.) Thus, it is safe to release m_NPObject in
2126         detach, because it can not result in layout or style changes.
2127
2128         Also added numberOfLiveNodes() and numberOfLiveDocuments() to
2129         window.internals to enable testing.
2130
2131         Test: plugins/netscape-dom-access-and-reload.html
2132
2133         * WebCore.exp.in:
2134         * html/HTMLPlugInElement.cpp:
2135         (WebCore::HTMLPlugInElement::detach):
2136         * html/HTMLPlugInElement.h:
2137         (HTMLPlugInElement):
2138         * testing/Internals.cpp:
2139         (WebCore):
2140         (WebCore::Internals::numberOfLiveNodes):
2141         (WebCore::Internals::numberOfLiveDocuments):
2142         * testing/Internals.h:
2143         (Internals):
2144         * testing/Internals.idl:
2145
2146 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
2147
2148         CSSParser doesn't set border-*-width/style/color to initial by border shorthand property
2149         https://bugs.webkit.org/show_bug.cgi?id=82040
2150
2151         Reviewed by Antti Koivisto.
2152
2153         The border shorthand property sets values for border-width, border-style, and border-color shorthand properties.
2154         While CSSParser::parseValue can process these shorthand properties properly and set the longhand properties
2155         such as border-top-width, border-right-width, ... border-left-color, CSSParser::addProperty can't and the
2156         initialization in parseShorthand fails for the border property.
2157
2158         Fixed the bug by explicitly initializing longhand properties.
2159
2160         Changing the behavior here is unlikely to break the Web since our behavior already differs from that of Firefox
2161         and Internet Explorer. Both of those browsers return the actual initial values such as "medium" and "currentColor".
2162         This discrepancy is tracked by https://bugs.webkit.org/show_bug.cgi?id=82078.
2163
2164         Test: fast/css/border-shorthand-initialize-longhands.html
2165
2166         * css/CSSParser.cpp:
2167         (WebCore::CSSParser::parseValue): Uses borderAbridgedLonghand.
2168         (WebCore::CSSParser::parseShorthand): Uses longhand properties for initialization if one is available.
2169         This allows us to initialize multiple properties (e.g. border-*-color) for a single property missing in the set.
2170         * css/CSSPropertyLonghand.cpp:
2171         (WebCore::borderAbridgedLonghand): Added. The longhand here (border-width, border-style, border-color) is
2172         "abridged" in the sense that they're still shorthands.
2173         * css/CSSPropertyLonghand.h:
2174         (WebCore::CSSPropertyLonghand::CSSPropertyLonghand):
2175         (CSSPropertyLonghand): Added the version that takes longhand instances for initialization purposes.
2176         (WebCore::CSSPropertyLonghand::longhandsForInitialization):
2177
2178 2012-03-23  Tony Chang  <tony@chromium.org>
2179
2180         [chromium] rename newwtf target back to wtf
2181         https://bugs.webkit.org/show_bug.cgi?id=82064
2182
2183         Reviewed by Adam Barth.
2184
2185         No new tests, only renaming a build target.
2186
2187         * WebCore.gyp/WebCore.gyp:
2188
2189 2012-03-23  Adrienne Walker  <enne@google.com>
2190
2191         [chromium] Turn off painting of scrollbars on compositor thread for unsupported platforms
2192         https://bugs.webkit.org/show_bug.cgi?id=82066
2193
2194         Reviewed by James Robinson.
2195
2196         With threaded compositing, OSX will crash and Windows will have black
2197         scrollbars. Fix that by reverting to the previosu behavior of updating
2198         scrollbars on the main thread instead.
2199
2200         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
2201         (WebCore::scrollbarLayerDidChange):
2202
2203 2012-03-23  Dan Bernstein  <mitz@apple.com>
2204
2205         <rdar://problem/7883987> ASSERTION FAILED: ASSERT(input == AnimationStateInputEndTimerFired || input == AnimationStateInputPlayStatePaused) in AnimationBase::updateStateMachine causing multiple "crashes" on Lion Intel Debug WebKit testers
2206         https://bugs.webkit.org/show_bug.cgi?id=81351
2207
2208         Rubber-stamped by Jessie Berlin.
2209
2210         * page/animation/AnimationBase.cpp:
2211         (WebCore::AnimationBase::updateStateMachine): Replaced the assertion with a LOG_ERROR so that
2212         the issue is still noticeable, but it does not automatically make the debug bots red.
2213
2214 2012-03-23  Mike Lawther  <mikelawther@chromium.org>
2215
2216         CSS3 calc: image sizing works with mixed percentage/absolute
2217         https://bugs.webkit.org/show_bug.cgi?id=82017
2218
2219         Reviewed by Ojan Vafai.
2220
2221         Test: css3/calc/img-size-expected.html
2222
2223         * rendering/RenderBox.cpp:
2224         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
2225         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
2226
2227 2012-03-23  Julien Chaffraix  <jchaffraix@webkit.org>
2228
2229         REGRESSION(107971): Google Voice contact list is broken in WebKit due to badly allocating the extra height
2230         https://bugs.webkit.org/show_bug.cgi?id=81826
2231
2232         Reviewed by Tony Chang.
2233
2234         Covered by tables/mozilla/bugs/bug27038-{1|2}.html.
2235
2236         This partly reverts r107971: the extra logical height distribution change was not needed
2237         to fix the bug (it is needed by the test though). We revert to giving all the extra height
2238         to the first tbody and not the first section.
2239
2240         This is broken but unfortunately some websites are relying on that. Getting a real
2241         distribution algorithm is covered by bug 81824. However this is super tricky to get
2242         right and I did not want to add more compatibility risks until I have something solid.
2243
2244         * rendering/RenderTable.cpp:
2245         (WebCore::RenderTable::distributeExtraLogicalHeight):
2246
2247 2012-03-23  Xingnan Wang  <xingnan.wang@intel.com>
2248
2249         Optimize for IPP in DirectConvolver::process()
2250         https://bugs.webkit.org/show_bug.cgi?id=80255
2251
2252         Reviewed by Chris Rogers.
2253
2254         Increase ~2X performance by conv() in IPP.
2255
2256         * platform/audio/DirectConvolver.cpp:
2257         (WebCore::DirectConvolver::DirectConvolver):
2258         (WebCore::DirectConvolver::process):
2259         * platform/audio/DirectConvolver.h:
2260         (DirectConvolver):
2261
2262 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
2263
2264         MediaStream API (JSEP): Introducing PeerConnection00 and IceCallback
2265         https://bugs.webkit.org/show_bug.cgi?id=81657
2266
2267         Reviewed by Adam Barth.
2268
2269         Last major WebCore patch for the JSEP PeerConnection, together with the associated
2270         IceCallback (they both depend on each other and IceCallback has very few lines of real code).
2271
2272         My next patch after this one will do a major overhaul of the existing layout tests
2273         and add a few new ones.
2274
2275         * GNUmakefile.list.am:
2276         * Modules/mediastream/DOMWindowMediaStream.idl:
2277         * Modules/mediastream/IceCallback.h: Added.
2278         (WebCore):
2279         (IceCallback):
2280         (WebCore::IceCallback::~IceCallback):
2281         * Modules/mediastream/IceCallback.idl: Added.
2282         * Modules/mediastream/PeerConnection00.cpp: Added.
2283         (WebCore):
2284         (WebCore::PeerConnection00::create):
2285         (WebCore::PeerConnection00::PeerConnection00):
2286         (WebCore::PeerConnection00::~PeerConnection00):
2287         (WebCore::PeerConnection00::hasLocalAudioTrack):
2288         (WebCore::PeerConnection00::hasLocalVideoTrack):
2289         (WebCore::PeerConnection00::parseMediaHints):
2290         (WebCore::PeerConnection00::createOffer):
2291         (WebCore::PeerConnection00::createAnswer):
2292         (WebCore::PeerConnection00::setLocalDescription):
2293         (WebCore::PeerConnection00::setRemoteDescription):
2294         (WebCore::PeerConnection00::localDescription):
2295         (WebCore::PeerConnection00::remoteDescription):
2296         (WebCore::PeerConnection00::startIce):
2297         (WebCore::PeerConnection00::processIceMessage):
2298         (WebCore::PeerConnection00::readyState):
2299         (WebCore::PeerConnection00::iceState):
2300         (WebCore::PeerConnection00::addStream):
2301         (WebCore::PeerConnection00::removeStream):
2302         (WebCore::PeerConnection00::localStreams):
2303         (WebCore::PeerConnection00::remoteStreams):
2304         (WebCore::PeerConnection00::close):
2305         (WebCore::PeerConnection00::didGenerateIceCandidate):
2306         (WebCore::PeerConnection00::didChangeReadyState):
2307         (WebCore::PeerConnection00::didChangeIceState):
2308         (WebCore::PeerConnection00::didAddRemoteStream):
2309         (WebCore::PeerConnection00::didRemoveRemoteStream):
2310         (WebCore::PeerConnection00::interfaceName):
2311         (WebCore::PeerConnection00::scriptExecutionContext):
2312         (WebCore::PeerConnection00::stop):
2313         (WebCore::PeerConnection00::eventTargetData):
2314         (WebCore::PeerConnection00::ensureEventTargetData):
2315         (WebCore::PeerConnection00::changeReadyState):
2316         (WebCore::PeerConnection00::changeIceState):
2317         * Modules/mediastream/PeerConnection00.h: Added.
2318         (WebCore):
2319         (PeerConnection00):
2320         (WebCore::PeerConnection00::refEventTarget):
2321         (WebCore::PeerConnection00::derefEventTarget):
2322         * Modules/mediastream/PeerConnection00.idl: Added.
2323         * WebCore.gypi:
2324         * bindings/generic/RuntimeEnabledFeatures.h:
2325         (WebCore::RuntimeEnabledFeatures::webkitPeerConnection00Enabled):
2326         * bindings/js/JSPeerConnection00Custom.cpp: Added.
2327         (WebCore):
2328         (WebCore::JSPeerConnection00Constructor::constructJSPeerConnection00):
2329         * dom/EventTargetFactory.in:
2330
2331 2012-03-23  Adrienne Walker  <enne@google.com>
2332
2333         [chromium] Fix scrollbarLayerLostContext flaky test crash on 10.6
2334         https://bugs.webkit.org/show_bug.cgi?id=82062
2335
2336         Reviewed by James Robinson.
2337
2338         * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
2339         (CCScrollbarLayerImpl):
2340
2341 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
2342
2343         [chromium] MediaStream API (JSEP): Extending WebMediaStreamCenter
2344         https://bugs.webkit.org/show_bug.cgi?id=81924
2345
2346         Reviewed by Adam Barth.
2347
2348         Nothing to test, just moving methods.
2349
2350         * platform/mediastream/MediaStreamCenter.cpp:
2351         (WebCore::MediaStreamCenter::constructSDP):
2352         (WebCore):
2353
2354 2012-03-23  Sami Kyostila  <skyostil@chromium.org>
2355
2356         Reuse buffer allocation if canvas size does not change
2357         https://bugs.webkit.org/show_bug.cgi?id=80871
2358
2359         Reviewed by Stephen White.
2360
2361         If the user changes the width or height attributes of a canvas element,
2362         the contents of the canvas should be cleared and the context state
2363         should be reset. This has become a common idiom to clear the canvas
2364         "efficiently" at the start of a frame.
2365
2366         Previously, this code path triggered a full reallocation of the image
2367         buffer backing the canvas, leading to reduced performance. This patch
2368         implements an optimization where we reuse the previous image buffer
2369         allocation if the size of the canvas did not change. Also, instead of
2370         clearing the canvas every time its dimensions are touched, we only clear
2371         if anything has been drawn into the canvas since it was previously
2372         cleared.
2373
2374         Note that for now this optimization only applies for 2D canvases,
2375         since it is not entirely clear how touching the dimensions of a WebGL
2376         canvas should work.
2377
2378         Test: fast/canvas/canvas-resize-after-paint-without-layout.html +
2379               existing layout tests for canvas resetting.
2380
2381         * html/HTMLCanvasElement.cpp:
2382         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
2383         (WebCore::HTMLCanvasElement::reset):
2384         (WebCore::HTMLCanvasElement::createImageBuffer): Save the initial
2385         graphics context state so we can restore it without creating a new
2386         context.
2387         (WebCore::HTMLCanvasElement::clearImageBuffer):
2388         (WebCore):
2389         (WebCore::HTMLCanvasElement::clearCopiedImage):
2390         * html/HTMLCanvasElement.h:
2391         (HTMLCanvasElement):
2392         * html/canvas/CanvasRenderingContext2D.cpp:
2393         (WebCore::CanvasRenderingContext2D::reset): No need to notify the
2394         compositor when the context is reset, because clearing the image buffer
2395         does the same thing. We can also skip the notification if we did not
2396         have an image buffer at the time of the reset, because the reset will
2397         not have any visual impact in this case. Finally, if the canvas size
2398         did change, the notification is also unnecessary because of the call
2399         to RenderObject::repaint() from HTMLCanvasElement::reset().
2400
2401 2012-03-22  Martin Robinson  <mrobinson@igalia.com>
2402
2403         Fix some code generation warnings on GTK+.
2404
2405         Reviewed by Gustavo Noronha Silva.
2406
2407         No new tests. This just fixes warnings.
2408
2409         * GNUmakefile.am: Remove nonexistent directories from the list IDL directories.
2410
2411 2012-03-23  Sheriff Bot  <webkit.review.bot@gmail.com>
2412
2413         Unreviewed, rolling out r111751.
2414         http://trac.webkit.org/changeset/111751
2415         https://bugs.webkit.org/show_bug.cgi?id=82060
2416
2417         caused 15% page cycler regression for chromium-linux
2418         (Requested by eae on #webkit).
2419
2420         * css/CSSStyleSelector.cpp:
2421         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2422
2423 2012-03-23  Kentaro Hara  <haraken@chromium.org>
2424
2425         Support [ImplementedAs] for attributes
2426         https://bugs.webkit.org/show_bug.cgi?id=81605
2427
2428         Reviewed by Adam Barth.
2429
2430         [ImplementedAs] just supports methods. [ImplementedAs] should support
2431         attributes too.
2432
2433         Explained here: https://trac.webkit.org/wiki/WebKitIDL#ImplementedAs
2434
2435         Test: bindings/scripts/test/TestObj.idl
2436
2437         * bindings/scripts/CodeGenerator.pm: Modified to support [ImplementedAs] for attributes.
2438         (AttributeNameForGetterAndSetter):
2439
2440         * bindings/scripts/test/TestObj.idl: Added a test case.
2441
2442         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
2443         (WebDOMTestObj::strawberry):
2444         (WebDOMTestObj::setStrawberry):
2445         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2446         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2447         (webkit_dom_test_obj_get_strawberry):
2448         (webkit_dom_test_obj_set_strawberry):
2449         (webkit_dom_test_obj_get_property):
2450         (webkit_dom_test_obj_class_init):
2451         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2452         * bindings/scripts/test/JS/JSTestObj.cpp:
2453         (WebCore):
2454         (WebCore::jsTestObjStrawberry):
2455         (WebCore::setJSTestObjStrawberry):
2456         * bindings/scripts/test/JS/JSTestObj.h:
2457         (WebCore):
2458         * bindings/scripts/test/ObjC/DOMTestObj.h:
2459         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2460         (-[DOMTestObj strawberry]):
2461         (-[DOMTestObj setStrawberry:]):
2462         * bindings/scripts/test/V8/V8TestObj.cpp:
2463         (WebCore::TestObjInternal::strawberryAttrGetter):
2464         (TestObjInternal):
2465         (WebCore::TestObjInternal::strawberryAttrSetter):
2466         (WebCore):
2467
2468 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
2469
2470         The JSC code generator doesn't generate correct code for Constructors
2471         https://bugs.webkit.org/show_bug.cgi?id=82046
2472
2473         Reviewed by Kentaro Hara.
2474
2475         The main bulk of generated code for constructors uses the name jsConstructor
2476         for the created object, and then calls GenerateParametersCheck which generates
2477         code that uses the name castedThis.
2478
2479         * bindings/scripts/CodeGeneratorJS.pm:
2480         (GenerateConstructorDefinition):
2481         * bindings/scripts/test/JS/JSTestInterface.cpp:
2482         (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
2483         * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
2484         (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
2485         * bindings/scripts/test/JS/JSTestObj.cpp:
2486         (WebCore::JSTestObjConstructor::finishCreation):
2487         (WebCore::JSTestObjConstructor::constructJSTestObj):
2488         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2489         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
2490         * bindings/scripts/test/TestObj.idl:
2491         * bindings/scripts/test/V8/V8TestObj.cpp:
2492         (WebCore::V8TestObj::constructorCallback):
2493
2494 2012-03-23  Tommy Widenflycht  <tommyw@google.com>
2495
2496         The JSC code generator can't handle boolean arguments for Callbacks
2497         https://bugs.webkit.org/show_bug.cgi?id=82045
2498
2499         Reviewed by Kentaro Hara.
2500
2501         CodeGeneratorJS.pm only handles DOMStrings and objects as arguments
2502         for a Callback, so I added support for boolean values as well.
2503
2504         * bindings/scripts/CodeGeneratorJS.pm:
2505         (GenerateCallbackImplementation):
2506         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
2507         (WebDOMTestCallback::callbackWithBoolean):
2508         * bindings/scripts/test/CPP/WebDOMTestCallback.h:
2509         (WebDOMTestCallback):
2510         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
2511         (webkit_dom_test_callback_callback_with_boolean):
2512         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
2513         * bindings/scripts/test/JS/JSTestCallback.cpp:
2514         (WebCore::JSTestCallback::callbackWithBoolean):
2515         (WebCore):
2516         * bindings/scripts/test/JS/JSTestCallback.h:
2517         (JSTestCallback):
2518         * bindings/scripts/test/ObjC/DOMTestCallback.h:
2519         * bindings/scripts/test/ObjC/DOMTestCallback.mm:
2520         (-[DOMTestCallback callbackWithBoolean:]):
2521         * bindings/scripts/test/TestCallback.idl:
2522         * bindings/scripts/test/V8/V8TestCallback.cpp:
2523         (WebCore::V8TestCallback::callbackWithBoolean):
2524         (WebCore):
2525         * bindings/scripts/test/V8/V8TestCallback.h:
2526         (V8TestCallback):
2527
2528 2012-03-23  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2529
2530         Touch adjustment forgets some subtarget quads.
2531         https://bugs.webkit.org/show_bug.cgi?id=82044
2532
2533         Reviewed by Kenneth Rohde Christiansen.
2534
2535         Do not uncritically skip all nodes that are ancestors to other test results.
2536         Instead return the inner-most element if multiple nodes have the same distance.
2537
2538         Test: touchadjustment/block-testing.html
2539
2540         * page/TouchAdjustment.cpp:
2541         (WebCore::TouchAdjustment::compileSubtargetList):
2542         (WebCore::TouchAdjustment::findNodeWithLowestDistanceMetric):
2543
2544 2012-03-23  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2545
2546         TouchAdjustment does not correct for frame position
2547         https://bugs.webkit.org/show_bug.cgi?id=82043
2548
2549         Reviewed by Kenneth Rohde Christiansen.
2550
2551         Convert geometry to window coordinates before calculating distance.
2552
2553         Test: touchadjustment/iframe.html
2554
2555         * page/TouchAdjustment.cpp:
2556         (WebCore::TouchAdjustment::distanceSquaredToTargetCenterLine):
2557
2558 2012-03-23  Vlad Voicu  <vladv@rosedu.org>
2559
2560         Fixed minor WebInspector display issue
2561         Clicking on disabled sections in Styles Sidebar Pane creates new elements.
2562         https://bugs.webkit.org/show_bug.cgi?id=81925
2563
2564         Reviewed by Timothy Hatcher
2565
2566         No new tests should be required.
2567
2568         * inspector/front-end/StylesSidebarPane.js:
2569         (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
2570         (WebInspector.StylePropertyTreeElement.prototype):
2571
2572 2012-03-23  Kentaro Hara  <haraken@chromium.org>
2573
2574         Unreviewed, rebaselined run-bindings-tests results.
2575
2576         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
2577         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2578         * bindings/scripts/test/JS/JSTestObj.cpp:
2579         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
2580         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
2581         (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
2582         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
2583         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
2584         * bindings/scripts/test/V8/V8TestObj.cpp:
2585         (WebCore::TestObjInternal::methodWithCallbackArgCallback):
2586         (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
2587         (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
2588         (WebCore::TestObjInternal::overloadedMethod5Callback):
2589         (WebCore::TestObjInternal::overloadedMethodCallback):
2590
2591 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
2592
2593         cssText should use StringBuilder
2594         https://bugs.webkit.org/show_bug.cgi?id=82028
2595
2596         Reviewed by Hajime Morita.
2597
2598         Make StylePropertySet::asText more efficient by deploying StringBuilder;
2599         avoids heap churn by String::operator+ and String::operator+=.
2600
2601         * css/StylePropertySet.cpp:
2602         (WebCore::StylePropertySet::asText):
2603
2604 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
2605
2606         REGRESSION(r111754): plugins/reloadplugins-and-pages.html fails on all platforms
2607         https://bugs.webkit.org/show_bug.cgi?id=82035
2608
2609         Rollout r111754 since it caused a test to fail and the test added by the patch
2610         is failing on Mac WebKit 2.
2611
2612         * WebCore.exp.in:
2613         * html/HTMLPlugInElement.cpp:
2614         (WebCore::HTMLPlugInElement::detach):
2615         (WebCore):
2616         (WebCore::HTMLPlugInElement::removedFromDocument):
2617         * html/HTMLPlugInElement.h:
2618         (HTMLPlugInElement):
2619         * testing/Internals.cpp:
2620         * testing/Internals.h:
2621         (Internals):
2622         * testing/Internals.idl:
2623
2624 2012-03-23  Adam Barth  <abarth@webkit.org>
2625
2626         Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 2)
2627         https://bugs.webkit.org/show_bug.cgi?id=82026
2628
2629         Reviewed by Kentaro Hara.
2630
2631         This patch removes DOMWindow::resetNotifications, which was unneeded
2632         special-case logic for clearing the notifications center.  The previous
2633         patch that tried to accomplish the same thing did not override
2634         willDetachPage, which is why it caused crashes.
2635
2636         There's actually a cleaner way to handle these cases, which will let us
2637         implement reconnectFrame, but that will need to wait for the next
2638         patch.
2639
2640         * notifications/DOMWindowNotifications.cpp:
2641         (WebCore::DOMWindowNotifications::DOMWindowNotifications):
2642         (WebCore::DOMWindowNotifications::from):
2643         (WebCore::DOMWindowNotifications::webkitNotifications):
2644         (WebCore):
2645         (WebCore::DOMWindowNotifications::disconnectFrame):
2646         (WebCore::DOMWindowNotifications::willDetachPage):
2647         (WebCore::DOMWindowNotifications::reset):
2648         * notifications/DOMWindowNotifications.h:
2649         (DOMWindowNotifications):
2650         * page/DOMWindow.cpp:
2651         (WebCore::DOMWindow::willDetachPage):
2652         (WebCore::DOMWindow::disconnectDOMWindowProperties):
2653         (WebCore::DOMWindow::clearDOMWindowProperties):
2654         * page/DOMWindow.h:
2655         (DOMWindow):
2656         * page/Frame.cpp:
2657         (WebCore::Frame::willDetachPage):
2658
2659 2012-03-22  Adam Barth  <abarth@webkit.org>
2660
2661         Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 1)
2662         https://bugs.webkit.org/show_bug.cgi?id=82015
2663
2664         Reviewed by Kentaro Hara.
2665
2666         This patch moves DOMWindow.webkitNotifications from DOMWindow.idl to
2667         DOMWindowNotificiations.idl in preparation for moving notificiations
2668         into Modules.
2669
2670         A future patch will remove DOMWindow::resetNotificaitions in favor of
2671         more general mechanisms.
2672
2673         * CMakeLists.txt:
2674         * DerivedSources.make:
2675         * DerivedSources.pri:
2676         * GNUmakefile.list.am:
2677         * Target.pri:
2678         * WebCore.gypi:
2679         * WebCore.vcproj/WebCore.vcproj:
2680         * WebCore.xcodeproj/project.pbxproj:
2681         * notifications/DOMWindowNotifications.cpp: Added.
2682         (WebCore):
2683         (WebCore::DOMWindowNotifications::DOMWindowNotifications):
2684         (WebCore::DOMWindowNotifications::~DOMWindowNotifications):
2685         (WebCore::DOMWindowNotifications::from):
2686         (WebCore::DOMWindowNotifications::webkitNotifications):
2687         (WebCore::DOMWindowNotifications::reset):
2688         (WebCore::DOMWindowNotifications::supplementName):
2689         * notifications/DOMWindowNotifications.h: Added.
2690         (WebCore):
2691         (DOMWindowNotifications):
2692         * notifications/DOMWindowNotifications.idl: Added.
2693         * page/DOMWindow.cpp:
2694         (WebCore::DOMWindow::~DOMWindow):
2695         (WebCore):
2696         (WebCore::DOMWindow::resetNotifications):
2697         * page/DOMWindow.h:
2698         (WebCore):
2699         (DOMWindow):
2700         * page/DOMWindow.idl:
2701
2702 2012-03-22  Li Yin  <li.yin@intel.com>
2703
2704         A client MUST close a connection if it detects a masked frame
2705         https://bugs.webkit.org/show_bug.cgi?id=81361
2706
2707         Reviewed by Kent Tamura.
2708
2709         A server must not mask any frames that it sends to the client.
2710         Change the test case, not mask the frames from server to client.
2711         
2712         Test: http/tests/websocket/tests/hybi/invalid-masked-frames-from-server.html
2713
2714         * Modules/websockets/WebSocketChannel.cpp:
2715         (WebCore::WebSocketChannel::processFrame):
2716
2717 2012-03-22  Li Yin  <li.yin@intel.com>
2718
2719         [WebSocket]The minimal number of bytes MUST be used to encode the length
2720         https://bugs.webkit.org/show_bug.cgi?id=81443
2721
2722         Reviewed by Kent Tamura.
2723
2724         From RFC 6455 http://tools.ietf.org/html/rfc6455#section-5.2
2725         the minimal number of bytes MUST be used to encode the length
2726         
2727         New test case : http/tests/websocket/tests/hybi/invalid-encode-length.html
2728
2729         * Modules/websockets/WebSocketChannel.cpp:
2730         (WebCore::WebSocketChannel::parseFrame):
2731
2732 2012-03-22  Adam Barth  <abarth@webkit.org>
2733
2734         Unreviewed.  Sort xcodeproj file.
2735
2736         * WebCore.xcodeproj/project.pbxproj:
2737
2738 2012-03-22  Mao Yujie  <yujie.mao@intel.com>
2739
2740         Implement strict testing criterion for callback function definition
2741         https://bugs.webkit.org/show_bug.cgi?id=80005
2742
2743         Reviewed by Adam Barth.
2744
2745         Callback function should be defined as the function type instead of
2746         the object type.
2747
2748         LayoutTest: fast/dom/MediaStream/argument-types.html
2749
2750         * bindings/scripts/CodeGeneratorJS.pm:
2751         (GenerateParametersCheckExpression):
2752         (GenerateParametersCheck):
2753         * bindings/scripts/CodeGeneratorV8.pm:
2754         (GenerateParametersCheckExpression):
2755         (GenerateParametersCheck):
2756
2757 2012-03-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2758
2759         Convert hasGrammarMarker to use Internals interface
2760         https://bugs.webkit.org/show_bug.cgi?id=82004
2761
2762         Reviewed by Ryosuke Niwa.
2763
2764         Remove hasGrammarMarker functions, because it is able to work in the
2765         cross-port way through the Internals interface.
2766
2767         No new tests, since we are improving here the infra-structure
2768         for testing a specific method.
2769
2770         * testing/Internals.cpp:
2771         (WebCore::Internals::hasGrammarMarker):
2772         (WebCore):
2773         * testing/Internals.h:
2774         (Internals):
2775         * testing/Internals.idl:
2776
2777 2012-03-22  Xingnan Wang  <xingnan.wang@intel.com>
2778
2779         Add exception for the setter of "fftSize" in RealtimeAnalyserNode
2780         https://bugs.webkit.org/show_bug.cgi?id=81748
2781
2782         Reviewed by Chris Rogers.
2783
2784         * Modules/webaudio/RealtimeAnalyser.cpp:
2785         (WebCore::RealtimeAnalyser::setFftSize):
2786         * Modules/webaudio/RealtimeAnalyser.h:
2787         (RealtimeAnalyser):
2788         * Modules/webaudio/RealtimeAnalyserNode.cpp:
2789         (WebCore::RealtimeAnalyserNode::setFftSize):
2790         (WebCore):
2791         * Modules/webaudio/RealtimeAnalyserNode.h:
2792         (RealtimeAnalyserNode):
2793         * Modules/webaudio/RealtimeAnalyserNode.idl:
2794
2795 2012-03-22  Leo Yang  <leo.yang@torchmobile.com.cn>
2796
2797         [BlackBerry] Add HistoryItemViewState for BlackBerry port
2798         https://bugs.webkit.org/show_bug.cgi?id=81867
2799
2800         Reviewed by Rob Buis.
2801
2802         HistoryItemViewState is the blackberry specific field of HistoryItem.
2803         It's used to maintain the porting specific view state.
2804
2805         No new test because the port can't be built yet.
2806
2807         * history/HistoryItem.h:
2808         (HistoryItem):
2809         (WebCore::HistoryItem::viewState):
2810
2811 2012-03-22  SravanKumar Sandela  <ssandela@innominds.com>
2812
2813         Fieldset unexpectedly stretches to minimum intrinsic width
2814         https://bugs.webkit.org/show_bug.cgi?id=79128
2815
2816         Reviewed by Julien Chaffraix.
2817
2818         Fieldset element width will now check if css width is specified explicitly
2819         before stretching to minimum intrinsic width. The reference
2820         can be taken from IE9, instead of FF(FF acknowledged the broken behavior). 
2821
2822         Tests: fast/forms/fieldset-width-nostretch-ifspecified-expected.html
2823                fast/forms/fieldset-width-nostretch-ifspecified.html
2824
2825         * rendering/RenderFieldset.cpp:
2826         (WebCore::RenderFieldset::stretchesToMinIntrinsicLogicalWidth):
2827         (WebCore):
2828         * rendering/RenderFieldset.h:
2829         (RenderFieldset):
2830
2831 2012-03-22  Shawn Singh  <shawnsingh@chromium.org>
2832
2833         [chromium] Target surface should be damaged for a new layers even when layer had no changes
2834         https://bugs.webkit.org/show_bug.cgi?id=81879
2835
2836         Reviewed by Adrienne Walker.
2837
2838         Unit test added to CCDamageTrackerTest.
2839
2840         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
2841         (WebCore::CCDamageTracker::removeRectFromCurrentFrame): added a
2842         boolean arg to detect if the layer is new on this update.
2843
2844         (WebCore::CCDamageTracker::extendDamageForLayer): added logic that
2845         damages the target surface if the layer is new.
2846
2847         (WebCore::CCDamageTracker::extendDamageForRenderSurface): added
2848         logic that damages the target surface if the descendant surface is
2849         new; similar logic for the surface's replica if the replica is new.
2850
2851         * platform/graphics/chromium/cc/CCDamageTracker.h:
2852         (CCDamageTracker):
2853
2854 2012-03-22  Charles Wei  <charles.wei@torchmobile.com.cn>
2855
2856         [BlackBerry] Need to store the meta info of a page in the ViewState of the history
2857         https://bugs.webkit.org/show_bug.cgi?id=82000
2858
2859         Reviewed by Rob Buis.
2860
2861         Internally reviewed by George Staikos.
2862
2863         No new tests, BlackBerry porting doesn't build yet upstreaming.
2864
2865         * history/blackberry/HistoryItemViewState.h:
2866         (WebCore::HistoryItemViewState::HistoryItemViewState):
2867         (HistoryItemViewState):
2868
2869 2012-03-22  Adam Klein  <adamk@chromium.org>
2870
2871         [v8] wrapSlow methods should ref underlying object before creating wrapper
2872         https://bugs.webkit.org/show_bug.cgi?id=81919
2873
2874         Reviewed by Adam Barth.
2875
2876         Because instatiating the wrapper can trigger GC, it's important that
2877         wrapSlow() hold a reference to an object when creating a wrapper for
2878         that object. Once the V8 wrapper exists and is associated with the object,
2879         the reference can be handed off (via leakRef) to be handled by the normal
2880         binding code logic (where derefObject is called if the handle is GCed).
2881
2882         Binding tests have been updated to reflect this change.
2883
2884         Testing the change directly is hard. Any test landed today would only
2885         be a valid test until V8's logic about when to GC changes, at which point
2886         it would become dead weight. So I don't think it's worth landing a
2887         layout test along with this.
2888
2889         * bindings/scripts/CodeGeneratorV8.pm:
2890         (GenerateHeader): Make wrapSlow take a PassRefPtr for RefCounted objects.
2891         (GenerateToV8Converters): Get rid of the explicit call to ref() and
2892         instead call leakRef() when adding a RefCounted object to the DOM map.
2893         (GetPassRefPtrType): Helper to generate "PassRefPtr<T>", or "PassRefPtr<T<U> >" as appropriate.
2894         * bindings/scripts/test/V8/V8Float64Array.cpp:
2895         (WebCore::V8Float64Array::wrapSlow):
2896         * bindings/scripts/test/V8/V8Float64Array.h:
2897         (V8Float64Array):
2898         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2899         (WebCore::V8TestActiveDOMObject::wrapSlow):
2900         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
2901         (V8TestActiveDOMObject):
2902         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2903         (WebCore::V8TestCustomNamedGetter::wrapSlow):
2904         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
2905         (V8TestCustomNamedGetter):
2906         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2907         (WebCore::V8TestEventConstructor::wrapSlow):
2908         * bindings/scripts/test/V8/V8TestEventConstructor.h:
2909         (V8TestEventConstructor):
2910         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2911         (WebCore::V8TestEventTarget::wrapSlow):
2912         * bindings/scripts/test/V8/V8TestEventTarget.h:
2913         (V8TestEventTarget):
2914         * bindings/scripts/test/V8/V8TestInterface.cpp:
2915         (WebCore::V8TestInterface::wrapSlow):
2916         * bindings/scripts/test/V8/V8TestInterface.h:
2917         (V8TestInterface):
2918         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2919         (WebCore::V8TestMediaQueryListListener::wrapSlow):
2920         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
2921         (V8TestMediaQueryListListener):
2922         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2923         (WebCore::V8TestNamedConstructor::wrapSlow):
2924         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
2925         (V8TestNamedConstructor):
2926         * bindings/scripts/test/V8/V8TestObj.cpp:
2927         (WebCore::V8TestObj::wrapSlow):
2928         * bindings/scripts/test/V8/V8TestObj.h:
2929         (V8TestObj):
2930         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2931         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
2932         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
2933         (V8TestSerializedScriptValueInterface):
2934
2935 2012-03-22  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
2936
2937         [BlackBerry] add interface clearCredentials() and clearNeverRememberSites()
2938         https://bugs.webkit.org/show_bug.cgi?id=81887
2939
2940         Reviewed by Rob Buis.
2941
2942         Fixed SQL issue when clearing table logins and table never_remember.
2943
2944         No new tests.
2945
2946         * platform/network/blackberry/CredentialBackingStore.cpp:
2947         (WebCore::CredentialBackingStore::clearLogins):
2948         (WebCore::CredentialBackingStore::clearNeverRemember):
2949
2950 2012-03-22  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
2951
2952         [BlackBerry] http authenticate dialog popup only once no matter authentication pass or fail
2953         https://bugs.webkit.org/show_bug.cgi?id=80135
2954
2955         Reviewed by Rob Buis.
2956
2957         Modified the interface function authenticationChallenge() in class
2958         PageClientBlackBerry, moved Credential from return value to the
2959         function's reference parameter, and returned a bool to indicate if
2960         user pressed Ok button or not.
2961         Removed the logic which checks m_currentWebChallenge not null,
2962         because we should challenge user again if the last provided credential
2963         is not valid; also added the logic that will popup challenge
2964         dialog again immediately if user press Ok buttton directly without
2965         inputting anything.
2966
2967         No new tests.
2968
2969         * platform/blackberry/PageClientBlackBerry.h:
2970         * platform/network/blackberry/NetworkJob.cpp:
2971         (WebCore::NetworkJob::handleAuthHeader):
2972         (WebCore::NetworkJob::sendRequestWithCredentials):
2973
2974 2012-03-22  Jason Liu  <jason.liu@torchmobile.com.cn>
2975
2976         [BlackBerry] Synchronize platform/network/blackberry
2977         https://bugs.webkit.org/show_bug.cgi?id=81874
2978
2979         We changed a lot in these files locally. But the changes are not upstreamed.
2980         It is not convenient to do the other upstreaming work based on these differences.
2981         So upstream these changes.
2982
2983         Reviewed by Rob Buis.
2984
2985         No new tests. Just synchronize codes.
2986
2987         * platform/network/blackberry/NetworkJob.cpp:
2988         (WebCore::NetworkJob::NetworkJob):
2989         (WebCore::NetworkJob::initialize):
2990         (WebCore::NetworkJob::handleNotifyHeaderReceived):
2991         (WebCore::NetworkJob::handleNotifyDataReceived):
2992         (WebCore::NetworkJob::sendResponseIfNeeded):
2993         (WebCore::NetworkJob::sendRequestWithCredentials):
2994         (WebCore::NetworkJob::handleAbout):
2995         * platform/network/blackberry/NetworkJob.h:
2996         (WebCore::NetworkJob::isError):
2997         (NetworkJob):
2998         * platform/network/blackberry/NetworkManager.cpp:
2999         (WebCore::NetworkManager::startJob):
3000         * platform/network/blackberry/ResourceRequest.h:
3001         (WebCore::ResourceRequest::ResourceRequest):
3002         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
3003         (WebCore::platformTargetTypeForRequest):
3004
3005 2012-03-22  Tom Sepez  <tsepez@chromium.org>
3006
3007         XSS Auditor bypass via script tag src=data:, URLS.
3008         https://bugs.webkit.org/show_bug.cgi?id=81948
3009
3010         Reviewed by Adam Barth.
3011
3012         This change fixes an XSSAuditor bypass wherby a script with a data: URL src
3013         attribute could evade detection by using characters from the page to create
3014         a snippet for matching not found in the URL's reflected vector.  This change 
3015         terminates the snippet for matching earlier in these cases.
3016         
3017         Test: http/tests/security/xssAuditor/script-tag-with-source-data-url2.html
3018
3019         * html/parser/XSSAuditor.cpp:
3020         (WebCore::XSSAuditor::decodedSnippetForAttribute):
3021
3022 2012-03-22  Dana Jansens  <danakj@chromium.org>
3023
3024         [chromium] Incorrect assert on animating opacity for a surface
3025         https://bugs.webkit.org/show_bug.cgi?id=81994
3026
3027         Reviewed by Adrienne Walker.
3028
3029         Draw opacity and animation state match on the surface itself. A
3030         surface with animating opacity always has an owning layer without
3031         animation, as the surface does the animation for it.
3032
3033         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3034         (WebCore::CCLayerTreeHost::paintLayerContents):
3035
3036 2012-03-22  Dana Jansens  <danakj@chromium.org>
3037
3038         [chromium] Skip frames when checkerboarding an animation
3039         https://bugs.webkit.org/show_bug.cgi?id=81716
3040
3041         Reviewed by Adrienne Walker.
3042
3043         This will stop drawing frames when prepareToDraw fails, if the draw is
3044         not forced. The expected behaviour is outlined below by the unit tests.
3045
3046         When a draw fails, we:
3047         1. Set m_needsRedraw to try again next vsync
3048         2. Set m_needsCommit because we need more data from webkit to succeed
3049         3. Set m_drawIfPossibleFailed. This allows us to try draw again within
3050         the same vsync *if* a commit finishes during this time.
3051
3052         Unit test: CCSchedulerTest.RequestRedrawInsideFailedDraw
3053                    CCSchedulerTest.RequestCommitInsideFailedDraw
3054                    CCSchedulerTest.NoBeginFrameWhenDrawFails
3055                    CCSchedulerStateMachineTest.TestFailedDrawSetsNeedsCommitAndDoesNotDrawAgain
3056                    CCSchedulerStateMachineTest.TestSetNeedsRedrawDuringFailedDrawDoesNotRemoveNeedsRedraw
3057                    CCSchedulerStateMachineTest.TestCommitAfterFailedDrawAllowsDrawInSameFrame
3058                    CCSchedulerStateMachineTest.TestCommitAfterFailedAndSuccessfulDrawDoesNotAllowDrawInSameFrame
3059                    CCSchedulerStateMachineTest.TestFailedDrawIsRetriedNextVSync
3060
3061         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3062         (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
3063         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
3064         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3065         (CCLayerTreeHostImpl):
3066         * platform/graphics/chromium/cc/CCScheduler.cpp:
3067         (WebCore::CCScheduler::processScheduledActions):
3068         * platform/graphics/chromium/cc/CCScheduler.h:
3069         (CCSchedulerClient):
3070         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
3071         (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
3072         (WebCore::CCSchedulerStateMachine::nextAction):
3073         (WebCore::CCSchedulerStateMachine::updateState):
3074         (WebCore::CCSchedulerStateMachine::didDrawIfPossibleCompleted):
3075         (WebCore):
3076         * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
3077         (CCSchedulerStateMachine):
3078         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3079         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
3080         (WebCore):
3081         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapIfPossible):
3082         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapForced):
3083         * platform/graphics/chromium/cc/CCThreadProxy.h:
3084         (CCThreadProxy):
3085
3086 2012-03-22  W. James MacLean  <wjmaclean@chromium.org>
3087
3088         [chromium] Force update of nonFastScrollableRegion if target CCLayerImpl has been freshly created.
3089         https://bugs.webkit.org/show_bug.cgi?id=81968
3090
3091         Reviewed by Adrienne Walker.
3092
3093         Added unit test to existing tests for TreeSynchronizer.
3094
3095         When creating a new CCLayerImpl during tree synchronization, make sure we transfer the nonFastScrollableRegion as
3096         the new CCLayerImpl will default to an empty region.
3097
3098         * platform/graphics/chromium/LayerChromium.h:
3099         (WebCore::LayerChromium::nonFastScrollableRegion):
3100         (WebCore::LayerChromium::setNonFastScrollableRegionChanged):
3101         * platform/graphics/chromium/TreeSynchronizer.cpp:
3102         (WebCore::TreeSynchronizer::reuseOrCreateCCLayerImpl):
3103
3104 2012-03-22  Raphael Kubo da Costa  <rakuco@FreeBSD.org>
3105
3106         [CMake] Unreviewed build fix after r111778.
3107
3108         * CMakeLists.txt: Replace ${JAVASCRIPTCORE_DIR}/wtf includes with
3109         ${WTF_DIR}/wtf ones.
3110
3111 2012-03-22  Tony Chang  <tony@chromium.org>
3112
3113         Unreviewed, fix chromium build after wtf move.
3114
3115         Only use newwtf, remove references to wtf.
3116
3117         * WebCore.gyp/WebCore.gyp:
3118
3119 2012-03-22  Benjamin Poulain  <bpoulain@apple.com>
3120
3121         Remove an obsolete comment regarding magic frames from Geolocation
3122         https://bugs.webkit.org/show_bug.cgi?id=81871
3123
3124         Reviewed by Alexey Proskuryakov.
3125
3126         Moving a frame into another document is no longer possible after r111361. The comment
3127         is now irrelevant.
3128
3129         * Modules/geolocation/Geolocation.cpp:
3130         (WebCore::Geolocation::stop):
3131
3132 2012-03-22  Csaba Osztrogon√°c  <ossy@webkit.org>
3133
3134         Actually move WTF files to their new home
3135         https://bugs.webkit.org/show_bug.cgi?id=81844
3136
3137         [Qt] Unreviewed buildfix after r111778.
3138
3139         * Target.pri:
3140
3141 2012-03-22  Kentaro Hara  <haraken@chromium.org>
3142
3143         run-bindings-tests output a lot of errors in TestSerializedScriptValueInterface.idl
3144         https://bugs.webkit.org/show_bug.cgi?id=81852
3145
3146         Reviewed by Adam Barth.
3147
3148         run-bindings-tests output a lot of errors in TestSerializedScriptValueInterface.idl:
3149
3150         Use of uninitialized value in string eq at WebCore/bindings/scripts/CodeGeneratorJS.pm line 2743.
3151         Use of uninitialized value $name in substitution (s///) at WebCore/bindings/scripts/CodeGenerator.pm line 119.
3152         Use of uninitialized value $type in string eq at WebCore/bindings/scripts/CodeGeneratorJS.pm line 2969.
3153         Use of uninitialized value $type in string eq at WebCore/bindings/scripts/CodeGeneratorJS.pm line 2972.
3154         Use of uninitialized value $type in hash element at WebCore/bindings/scripts/CodeGenerator.pm line 367.
3155         Use of uninitialized value $type in hash element at WebCore/bindings/scripts/CodeGenerator.pm line 368.
3156         ...
3157
3158         This is because [Constructor(...)] does not yet support [Optional] arguments.
3159         It just supports [Optional=DefaultIsUndefined] and [Optional=DefaultIsNullString] arguments:
3160         https://trac.webkit.org/wiki/WebKitIDL#Constructor
3161
3162         This patch replaces [Optional] with [Optional=DefaultIsUndefined]
3163         in TestSerializedScriptValueInterface.idl.
3164
3165         Test: bindings/scripts/test/TestSerializedScriptValueInterface.idl
3166
3167         * bindings/scripts/CodeGeneratorJS.pm:
3168         (GenerateConstructorDefinition):
3169         * bindings/scripts/CodeGeneratorV8.pm:
3170         (GenerateConstructorCallback):
3171         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3172         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
3173         * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
3174         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3175         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
3176
3177 2012-03-22  Michal Mocny  <mmocny@google.com>
3178
3179         [chromium] LayerRendererChromium should use GpuMemoryAllocationChanged callback to explicitly manage framebuffer.
3180         https://bugs.webkit.org/show_bug.cgi?id=81823
3181
3182         Reviewed by Adrienne Walker.
3183
3184         New UnitTests: LayerRendererChromiumTest
3185
3186         * platform/graphics/chromium/LayerRendererChromium.cpp:
3187         (LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
3188         (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::create):
3189         (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::~LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
3190         (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::onGpuMemoryAllocationChanged):
3191         (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
3192         (WebCore):
3193         (WebCore::LayerRendererChromium::LayerRendererChromium):
3194         (WebCore::LayerRendererChromium::initialize):
3195         (WebCore::LayerRendererChromium::~LayerRendererChromium):
3196         (WebCore::LayerRendererChromium::setVisible):
3197         (WebCore::LayerRendererChromium::swapBuffers):
3198         (WebCore::LayerRendererChromium::discardFramebuffer):
3199         (WebCore::LayerRendererChromium::ensureFramebuffer):
3200         * platform/graphics/chromium/LayerRendererChromium.h:
3201         (WebCore):
3202         (LayerRendererChromiumClient):
3203         (LayerRendererChromium):
3204         (WebCore::LayerRendererChromium::isFramebufferDiscarded):
3205         (ScopedEnsureFramebufferAllocation):
3206         (WebCore::ScopedEnsureFramebufferAllocation::ScopedEnsureFramebufferAllocation):
3207         (WebCore::ScopedEnsureFramebufferAllocation::~ScopedEnsureFramebufferAllocation):
3208         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3209         (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
3210         (LayerRendererCapabilities):
3211         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3212         (WebCore::CCLayerTreeHostImpl::setVisible):
3213         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3214         (CCLayerTreeHostImpl):
3215         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3216         (WebCore::CCSingleThreadProxy::compositeAndReadback):
3217         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3218         (WebCore::CCThreadProxy::compositeAndReadback):
3219
3220 2012-03-22  Adam Barth  <abarth@webkit.org>
3221
3222         ContainerNode::insertedIntoTree and removedFromTree use weak iteration patterns
3223         https://bugs.webkit.org/show_bug.cgi?id=80570
3224
3225         Reviewed by Ryosuke Niwa.
3226
3227         These functions use weak iteration patterns, but as far as I can tell,
3228         we never execute script below these functions.  This patch adds ASSERTs
3229         to help us avoid adding events in the future.
3230
3231         * dom/ContainerNode.cpp:
3232         (WebCore::ContainerNode::insertedIntoTree):
3233         (WebCore::ContainerNode::removedFromTree):
3234         * html/HTMLMediaElement.cpp:
3235         (WebCore::HTMLMediaElement::loadInternal):
3236             - There's a somewhat complex call chain from insertedIntoTree into
3237               HTMLMediaElement, and somewhat complex control flow below
3238               loadInternal that eventually leads to the BeforeLoad event being
3239               fired.  In studying this code, I don't see a way for the
3240               BeforeLoad event to be fired during insertedIntoTree, but I've
3241               added this assert here to make sure we don't call loadInternal
3242               when we're not supposed to dispatch events.  This ASSERT should
3243               help us catch these BeforeLoad errors more quickly.
3244
3245 2012-03-22  Raphael Kubo da Costa  <rakuco@FreeBSD.org>
3246
3247         Crash in fast/dom/navigator-detached-nocrash.html
3248         https://bugs.webkit.org/show_bug.cgi?id=81773
3249
3250         Reviewed by Adam Barth.
3251
3252         BatteryManager::create() blindly assumes the Navigator* it
3253         receives has a valid Frame, which is not always the case, as made
3254         evident by the crashing test.
3255
3256         Follow abarth's suggestion and just stop
3257         NavigatorBattery::webkitBattery() before it reaches the call to
3258         BatteryManager::create() if that's the case.
3259
3260         No new tests, covered by fast/dom/navigator-detached-nocrash.html.
3261
3262         * Modules/battery/NavigatorBattery.cpp:
3263         (WebCore::NavigatorBattery::webkitBattery):
3264
3265 2012-03-22  Emil A Eklund  <eae@chromium.org>
3266
3267         Unreviewed, add missing include statement for CSSValueList.h.
3268
3269         * css/CSSStyleSelector.h:
3270
3271 2012-03-22  Tony Chang  <tony@chromium.org>
3272
3273         flexbox flexing implementation should match the spec
3274         https://bugs.webkit.org/show_bug.cgi?id=70796
3275
3276         Reviewed by Ojan Vafai.
3277
3278         Match the algorithm in the spec. Handling min/max constraints are slightly improved.
3279         http://dev.w3.org/csswg/css3-flexbox/#resolve-the-flexible-lengths
3280
3281         New test cases in css3/flexbox/flex-algorithm-min-max.html.
3282
3283         * rendering/RenderFlexibleBox.cpp:
3284         (WebCore::adjustFlexSizeForMinAndMax): Step 5 of resolving flexible lengths.
3285         (WebCore):
3286         (WebCore::RenderFlexibleBox::Violation::Violation):
3287         (RenderFlexibleBox::Violation):
3288         (WebCore::RenderFlexibleBox::freezeViolations): Used by step 6.
3289         (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
3290         * rendering/RenderFlexibleBox.h:
3291
3292 2012-03-22  Emil A Eklund  <eae@chromium.org>
3293
3294         Unreviewed, add missing import.
3295
3296         * rendering/RenderThemeMac.mm:
3297
3298 2012-03-22  Anders Carlsson  <andersca@apple.com>
3299
3300         ASSERT(!needsLayout) in RenderView.cpp when visiting http://www.panic.com/blog/
3301         https://bugs.webkit.org/show_bug.cgi?id=81953
3302         <rdar://problem/11086998>
3303
3304         Reviewed by Sam Weinig.
3305
3306         If a page ends up creating CATiledLayers, CA transactions can be committed outside of the normal
3307         CA run loop observer, so we can't call setNeedsDisplay on tile cache layers directly because then
3308         we'll end up calling into painting code before all the layers have been flushed.
3309
3310         Fix this by adding a list of dirty rects to platformCALayerDidCreateTiles and change GraphicsLayerCA to
3311         mark them as dirty. This ensures that any CA transaction commits won't cause newly added layers to be painted.
3312
3313         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
3314         (WebCore::LayerClient::platformCALayerDidCreateTiles):
3315         * platform/graphics/ca/GraphicsLayerCA.cpp:
3316         (WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
3317         * platform/graphics/ca/GraphicsLayerCA.h:
3318         (GraphicsLayerCA):
3319         * platform/graphics/ca/PlatformCALayerClient.h:
3320         (PlatformCALayerClient):
3321         * platform/graphics/ca/mac/TileCache.mm:
3322         (WebCore::TileCache::setScale):
3323         (WebCore::TileCache::revalidateTiles):
3324         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
3325         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDidCreateTiles):
3326
3327 2012-03-19  Robert Hogan  <robert@webkit.org>
3328
3329         Text should overflow when list item height set to 0
3330         https://bugs.webkit.org/show_bug.cgi?id=78726
3331
3332         Reviewed by Julien Chaffraix.
3333
3334         Tests: css2.1/20110323/height-applies-to-010a-expected.html
3335                fast/css/heightless-list-item-expected.html
3336                fast/css/heightless-list-item.html
3337
3338         * rendering/RenderListItem.cpp:
3339         (WebCore::RenderListItem::paint):
3340            If the list item has height:0, only paint it if the list item allows any block or inline content 
3341            to overflow unclipped. The zero-height check is a shortcut to avoid unnecessary painting and 
3342            this seems to be the only case where there's something to do.
3343
3344 2012-03-22  Dave Michael  <dmichael@chromium.org>
3345
3346         HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
3347         https://bugs.webkit.org/show_bug.cgi?id=80428
3348
3349         Reviewed by Eric Seidel.
3350
3351         Make HTMLPluginElement release its m_NPObject in detach() to break a
3352         reference-counting cycle that happens on reload or navigation. With this
3353         change, HTMLPlugInElement::removedFromDocument is unnecessary, so it
3354         was removed. Note that Releasing m_NPObject does not result in a call to
3355         the plugin; it simply releases a reference count on the wrapper object
3356         for this HTMLPlugInElement. (The plugin's NPP_Deallocate is invoked
3357         when the render tree is destroyed, when PluginView calls
3358         PluginPackage::unload.) Thus, it is safe to release m_NPObject in
3359         detach, because it can not result in layout or style changes.
3360
3361         Also added numberOfLiveNodes() and numberOfLiveDocuments() to
3362         window.internals to enable testing.
3363
3364         Test: plugins/netscape-dom-access-and-reload.html
3365
3366         * WebCore.exp.in:
3367         * html/HTMLPlugInElement.cpp:
3368         (WebCore::HTMLPlugInElement::detach):
3369         * html/HTMLPlugInElement.h:
3370         (HTMLPlugInElement):
3371         * testing/Internals.cpp:
3372         (WebCore::Internals::numberOfLiveDocuments):
3373         (WebCore::Internals::numberOfLiveNodes):
3374         (WebCore):
3375         * testing/Internals.h:
3376         (Internals):
3377         * testing/Internals.idl:
3378
3379 2012-03-22  Shawn Singh  <shawnsingh@chromium.org>
3380
3381         [chromium] Make CCDamageTracker robust to empty layer lists
3382         https://bugs.webkit.org/show_bug.cgi?id=81831
3383
3384         Reviewed by Adrienne Walker.
3385
3386         Added a unit test in CCDamageTrackerTest that causes a crash in
3387         the old code. With this patch applied, the crash will not occur.
3388         In theory, that crash should never occur anyway, unless there is a
3389         bug outside the damage tracker, but for robustness it's
3390         appropriate to handle it properly.
3391
3392         In addition to this fix, performed some trivial maintenance on the
3393         damage tracker code.
3394
3395         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
3396         (WebCore::CCDamageTracker::updateDamageTrackingState): removed
3397         unclean code that accessed the targetSurface to get necessary
3398         information. Instead, we now pass those args through the damage
3399         tracker's API.
3400
3401         * platform/graphics/chromium/cc/CCDamageTracker.h:
3402         (CCDamageTracker): modified args passed to damage tracker on update.
3403
3404         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3405         (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces):
3406         modified args passed to damage tracker on update.
3407
3408 2012-03-22  Julien Chaffraix  <jchaffraix@webkit.org>
3409
3410         Enable style sharing for elements with a style attribute
3411         https://bugs.webkit.org/show_bug.cgi?id=81523
3412
3413         Reviewed by Antti Koivisto.
3414
3415         Memory improvement change only.
3416
3417         Overall, this is a performance wash (some benchmarks may regress a bit due to the increase in time taken
3418         by CSSStyleSelector::locateSharedStyle as we try more nodes, others increase their performance due to style sharing).
3419
3420         Instrumenting our style sharing, this should give us some nice memory shavings on some benchmarks:
3421         - HTML5 isn't impacted as it doesn't use much inline style
3422         - page cyclers' intl1 showed a 6% increase in style sharing.
3423
3424         * css/CSSStyleSelector.cpp:
3425         (WebCore::CSSStyleSelector::canShareStyleWithElement):
3426         This method now handles inline style like presentation attributes on the element.
3427
3428         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
3429         (WebCore::CSSStyleSelector::locateSharedStyle):
3430         Don't bail out for an element with an inline style declaration.
3431
3432         (WebCore::CSSStyleSelector::stylesEqual):
3433         Generalized attributeStylesEqual to share the logic between attribute and
3434         inline style property set. This means that attribute checks are actually
3435         doing a little extra more work but that didn't impact our benchmarks.
3436
3437 2012-03-22  Kevin Ollivier  <kevino@theolliviers.com>
3438
3439         [wx] Unreviewed. WebDOM build fix after array type changes.
3440
3441         * bindings/scripts/CodeGeneratorCPP.pm:
3442         (ShouldSkipType):
3443
3444 2012-03-22  Pavel Feldman  <pfeldman@chromium.org>
3445
3446         Web Inspector: text gutter decorations should move upon edits.
3447         https://bugs.webkit.org/show_bug.cgi?id=81932
3448
3449         Reviewed by Vsevolod Vlasov.
3450
3451         Decorations set by the line number now shift as editing inserts / removes lines.
3452
3453         * inspector/front-end/TextViewer.js:
3454         (WebInspector.TextViewer.prototype._syncLineHeight):
3455         (WebInspector.TextEditorGutterPanel):
3456         (WebInspector.TextEditorGutterPanel.prototype.textChanged):
3457         (WebInspector.TextEditorGutterPanel.prototype.syncClientHeight):
3458         (WebInspector.TextEditorGutterPanel.prototype.addDecoration):
3459         (WebInspector.TextEditorGutterPanel.prototype.removeDecoration):
3460
3461 2012-03-21  Robert Hogan  <robert@webkit.org>
3462
3463         CSS 2.1 failure: fixed-table-layout-006 fails
3464         https://bugs.webkit.org/show_bug.cgi?id=78412
3465
3466         Reviewed by Julien Chaffraix.
3467
3468         Tests: css2.1/20110323/fixed-table-layout-006.htm
3469