ae1c8b9e111010f6f56ba810badf9c1f16c5313a
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-02-07  Levi Weintraub  <leviw@chromium.org>
2
3         Update LayoutUnit usage in ColumnInfo and RenderFrameSet
4         https://bugs.webkit.org/show_bug.cgi?id=77914
5
6         Reviewed by Eric Seidel.
7
8         Updating ColumnInfo and RenderFrameSet to use LayoutUnits
9         instead of directly referencing integers for locations and
10         distances.
11
12         No new tests. No changed behavior.
13
14         * rendering/ColumnInfo.h:
15         (WebCore::ColumnInfo::forcedBreakOffset):
16         (WebCore::ColumnInfo::maximumDistanceBetweenForcedBreaks):
17         (ColumnInfo):
18         * rendering/RenderFrameSet.cpp:
19         (WebCore::RenderFrameSet::paintColumnBorder):
20         (WebCore::RenderFrameSet::paintRowBorder):
21         * rendering/RenderFrameSet.h:
22         (RenderFrameSet):
23
24 2012-02-07  Adam Klein  <adamk@chromium.org>
25
26         Add JSC support for delivering mutations when the outermost script context exits
27         https://bugs.webkit.org/show_bug.cgi?id=70289
28
29         Reviewed by Eric Seidel.
30
31         The meat of this change is in JSMainThreadExecState, where a counter
32         is incremented every time WebCore calls into JSC and decremented every
33         time it returns. When the counter reaches zero, any pending mutations
34         are delivered (this mirrors very similar code in V8Proxy and V8RecursionScope).
35
36         The rest of the changes are of two sorts: compilation/logic fixes for
37         JSC code when ENABLE(MUTATION_OBSERVERS) is true, and additional
38         usages of JSMainThreadExecState so as to trigger the above
39         increment/decrements at the appropriate times.
40
41         * bindings/js/JSCustomXPathNSResolver.cpp:
42         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
43         Use JSMainThreadExecState instead of JSC::call.
44         * bindings/js/JSDictionary.cpp:
45         (WebCore::JSDictionary::convertValue): Add support
46         for tryGetProperty with a HashMap<AtomicString>.
47         * bindings/js/JSDictionary.h:
48         * bindings/js/JSErrorHandler.cpp:
49         (WebCore::JSErrorHandler::handleEvent):
50         Use JSMainThreadExecState instead of JSC::call.
51         * bindings/js/JSHTMLDocumentCustom.cpp:
52         (WebCore::JSHTMLDocument::open):
53         Use JSMainThreadExecState instead of JSC::call.
54         * bindings/js/JSMainThreadExecState.cpp:
55         (WebCore::JSMainThreadExecState::didLeaveScriptContext):
56         * bindings/js/JSMainThreadExecState.h:
57         (WebCore::JSMainThreadExecState::JSMainThreadExecState):
58         Increment a static recursion level counter.
59         (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
60         Decrement a static recursion level counter and, if we are
61         at zero (the outermost script invocation), deliver any
62         outstanding mutation records.
63         * bindings/js/JSNodeFilterCondition.cpp:
64         (WebCore::JSNodeFilterCondition::acceptNode):
65         Use JSMainThreadExecState instead of JSC::call.
66         * bindings/js/JSWebKitMutationObserverCustom.cpp:
67         (WebCore::JSWebKitMutationObserver::observe):
68         Fix JSDictionary logic, add support for attributeFilter.
69
70 2012-02-07  Anders Carlsson  <andersca@apple.com>
71
72         Fix build.
73
74         * platform/ScrollableArea.h:
75         (WebCore::ScrollableArea::scrollableAreaBoundingBox):
76
77 2012-02-07  Levi Weintraub  <leviw@chromium.org>
78
79         [SVG] Use element disappears after scripted change
80         https://bugs.webkit.org/show_bug.cgi?id=74392
81
82         Reviewed by Eric Seidel.
83
84         Solution uncovered by Nikolas Zimmermann. Removing an early return that caused
85         SVGUseElements to not update the shadow root's style, and therefor not render
86         correctly.
87
88         Test: svg/custom/use-disappears-after-style-update.svg
89
90         * svg/SVGUseElement.cpp:
91         (WebCore::SVGUseElement::didRecalcStyle):
92
93 2012-02-07  Kentaro Hara  <haraken@chromium.org>
94
95         Rename [v8OnProto] IDL attribute to [V8OnProto] IDL attribute
96         https://bugs.webkit.org/show_bug.cgi?id=77973
97
98         Reviewed by Adam Barth.
99
100         This patch renames [v8OnProto] to [V8OnProto], since V8 specific IDL
101         attributes should be prefixed by "V8".
102
103         No tests. No change in behavior.
104
105         * bindings/scripts/CodeGeneratorV8.pm:
106         (GenerateNormalAttrGetter):
107         (GenerateNormalAttrSetter):
108         (GenerateSingleBatchedAttribute):
109         (GenerateImplementation):
110
111 2011-10-10  Jer Noble  <jer.noble@apple.com>
112
113         media/audio-data-url.html test broken on Lion
114         https://bugs.webkit.org/show_bug.cgi?id=69779
115
116         Reviewed by Eric Carlson.
117
118         Do not use "OpenForPlayback" attribute on data:// urls, as CoreMedia/QuickTime X cannot
119         handle those URLs.
120
121         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
122         (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
123
124 2012-02-07  Anders Carlsson  <andersca@apple.com>
125
126         Scrolling tree should keep track of region we can't do fast scrolling for
127         https://bugs.webkit.org/show_bug.cgi?id=78050
128
129         Reviewed by Dan Bernstein.
130
131         We currently won't do fast scrolling for subframes and other types of scrollable areas.
132         Because of this, we'll have the scrolling tree keep a region of the page for which we can't
133         do fast scrolling. This region will be updated after layout.
134
135         * page/FrameView.cpp:
136         (WebCore::FrameView::scrollableAreaBoundingBox):
137         Return the bounding box.
138
139         * page/scrolling/ScrollingCoordinator.cpp:
140         (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
141         Go through all the scrollable areas in this frame view and compute the region which we can't do
142         fast scrolling for.
143
144         * page/scrolling/ScrollingTree.cpp:
145         (WebCore::ScrollingTree::commitNewTreeState):
146         Update the non-fast-scrollable region.
147
148         * page/scrolling/ScrollingTreeState.cpp:
149         (WebCore::ScrollingTreeState::setNonFastScrollableRegion):
150         Set the non-fast-scrollable region if it's changed.
151
152         * platform/ScrollableArea.h:
153         Add scrollableAreaBoundingBox member function.
154
155         * rendering/RenderLayer.cpp:
156         (WebCore::RenderLayer::scrollableAreaBoundingBox):
157         Return the bounding box.
158
159         * rendering/RenderListBox.cpp:
160         (WebCore::RenderListBox::scrollableAreaBoundingBox):
161         Return the bounding box.
162
163 2012-02-07  Levi Weintraub  <leviw@chromium.org>
164
165         unicode-bidi:plaintext is supposed to be effective on display:inline elements too
166         https://bugs.webkit.org/show_bug.cgi?id=73310
167
168         Reviewed by Eric Seidel.
169
170         Adding support for unicode-bidi: plaintext as a property on inlines. These are treated
171         like unicode-bidi: isolate with the addition of their directionality being determined
172         by the UBA.
173
174         Tests: fast/text/international/inline-plaintext-is-isolated-expected.html
175                fast/text/international/inline-plaintext-is-isolated.html
176                fast/text/international/inline-plaintext-relayout-with-leading-neutrals-expected.html
177                fast/text/international/inline-plaintext-relayout-with-leading-neutrals.html
178                fast/text/international/inline-plaintext-with-generated-content-expected.html
179                fast/text/international/inline-plaintext-with-generated-content.html
180
181         * platform/text/UnicodeBidi.h:
182         (WebCore::isIsolated): Added this convenience function as Plaintext and Isolate Unicode-Bidi values
183         are both treated as isolated content.
184         * rendering/InlineIterator.h:
185         (WebCore::notifyObserverEnteredObject): Inline now supports Unicode-Bidi Plaintext.
186         (WebCore::notifyObserverWillExitObject): Ditto.
187         (WebCore::bidiFirstSkippingEmptyInlines): Changed to support being called without a resolver.
188         (WebCore::isIsolatedInline): Inline now supports Unicode-Bidi: Plaintext.
189         * rendering/RenderBlockLineLayout.cpp:
190         (WebCore::determineDirectionality): Generalized for inlines.
191         (WebCore::constructBidiRuns): Added support for Unicode-Bidi: Plaintext as an isolated inline.
192         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Fixed comment.
193         (WebCore::RenderBlock::determineStartPosition): Fixed comment and switched to updated
194         bidiFirstSkippingEmptyInlines.
195
196 2012-02-07  Kentaro Hara  <haraken@chromium.org>
197
198         [Refactoring] Use the [IsWorkerContext] IDL in CodeGeneratorV8.pm
199         https://bugs.webkit.org/show_bug.cgi?id=77957
200
201         Reviewed by Adam Barth.
202
203         This patch replaces IsSubType("WorkerContext") and something equivalent that
204         with the [IsWorkerContext] IDL.
205
206         No tests. No change in behavior.
207
208         * bindings/scripts/CodeGeneratorV8.pm:
209         (GetInternalFields):
210         (GenerateConstructorGetter):
211         (GenerateImplementation):
212
213 2012-02-07  David Reveman  <reveman@chromium.org>
214
215         [Chromium] Crash when using per-tile painting on Windows.
216         https://bugs.webkit.org/show_bug.cgi?id=75715
217
218         Reviewed by James Robinson.
219
220         PlatformCanvas constructor on win32 expects forth argument to be a
221         shared section handle. Passing a pointer to a system memory causes
222         it to crash. Fix this by not using the PlatformCanvas API for
223         SkCanvas construction in per-tile texture uploader.
224
225         Tested with manual tests.
226
227         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
228         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
229         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
230         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
231         (Texture):
232
233 2012-02-07  Jer Noble  <jer.noble@apple.com>
234
235         Unreviewed build fix; make OSStatus the explicit return type for CMTimebase functions.
236
237         * platform/mac/PlatformClockCM.mm:
238
239 2012-02-07  James Robinson  <jamesr@chromium.org>
240
241         [chromium] Allow retaining texture across frames in composited video playback and correctly handle lost context
242         https://bugs.webkit.org/show_bug.cgi?id=77923
243
244         Reviewed by Kenneth Russell.
245
246         Thanks to r106840, we can improve the video playback mode a bit. Instead of creating a new texture on every
247         frame, this attempts to reuse the texture from the previous frame unless the context is lost. Also improves
248         error checking in case the TextureManager cannot successfully reserve memory for the texture.
249
250         Tested manually by killing the GPU process with an html5 video playing and verifying that the video playback
251         continues and that we don't create a new set of textures for each plane on each frame.
252
253         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
254         (WebCore::CCVideoLayerImpl::draw):
255         (WebCore::CCVideoLayerImpl::reserveTextures):
256
257 2012-02-07  Matthew Delaney  <mdelaney@apple.com>
258
259         https://bugs.webkit.org/show_bug.cgi?id=77912
260         Removing old CG shadow code.
261         
262         A CG-specific shadow offset hack was added in http://trac.webkit.org/changeset/34317
263         for this particular setShadow method. However, this shadow offset adjustment for CG
264         has since moved down into platform specific code. Thus, this offset adjustment here
265         is now redundant.
266
267         The CG-only shadow setting code block in this setShadow method is now redundant.
268         Since it sets the shadow values to the CGContext directly - and not to the State object -
269         it will be overwritten later by any subsequent calls to setting shadow values such as
270         blur, offset, or shadow color.
271
272         Reviewed by Simon Fraser.
273
274         No new tests. Current canvas tests cover this path.
275
276         * html/canvas/CanvasRenderingContext2D.cpp:
277         (WebCore::CanvasRenderingContext2D::setShadow):
278
279 2012-02-07  James Robinson  <jamesr@chromium.org>
280
281         [chromium] Gracefully handle compositor initialization failure in single-threaded proxy
282         https://bugs.webkit.org/show_bug.cgi?id=78013
283
284         Reviewed by Kenneth Russell.
285
286         If compositor initialization fails it's not safe to proceed through the rest of the frame process. This adds
287         some early outs.
288
289         Tested manually by forcing the first makeContextCurrent() call fail.
290
291         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
292         (WebCore::CCLayerTreeHost::updateLayers):
293         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
294         (CCLayerTreeHost):
295         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
296         (WebCore::CCSingleThreadProxy::compositeAndReadback):
297         (WebCore::CCSingleThreadProxy::compositeImmediately):
298         (WebCore::CCSingleThreadProxy::commitIfNeeded):
299         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
300         (CCSingleThreadProxy):
301
302 2012-02-07  Brady Eidson  <beidson@apple.com>
303
304         <rdar://problem/9567286> and https://bugs.webkit.org/show_bug.cgi?id=78003
305         WebKit associates credentials with the wrong site if the authentication challenge takes place after a redirect chain
306
307         Reviewed by Alexey Proskuryakov.
308
309         Test: http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials.html
310
311         Associate the credential with the URL of the challenge itself, not the original request:
312         * platform/network/cf/ResourceHandleCFNet.cpp:
313         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): 
314         (WebCore::ResourceHandle::receivedCredential):
315         * platform/network/mac/ResourceHandleMac.mm:
316         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
317         (WebCore::ResourceHandle::receivedCredential):
318
319 2012-02-07  Tony Chang  <tony@chromium.org>
320
321         move warning about css values and render style constants closer to where it applies
322         https://bugs.webkit.org/show_bug.cgi?id=78017
323
324         Reviewed by Darin Adler.
325
326         Move the warning about keeping RenderStyleConstnats.h enums and
327         CSSValueKeywords.in values in the same order closer to the properties
328         that the warning applies to. The warning was easy to miss and was
329         confusing since it doesn't apply to most values.
330
331         Also refactor 2 conversion functions to
332         enumerate the possible values so the order doesn't matter.
333
334         No new tests, just refactoring and comment cleanup.
335
336         * css/CSSPrimitiveValueMappings.h:
337         (WebCore::CSSPrimitiveValue::operator EListStylePosition): Name all possible values and add a NOT_REACHED().
338         (WebCore::CSSPrimitiveValue::operator EUserModify): Name all possible values and add a NOT_REACHED().
339         * css/CSSValueKeywords.in:
340         * css/SVGCSSPropertyNames.in:
341         * css/SVGCSSValueKeywords.in:
342         * rendering/style/RenderStyleConstants.h:
343
344 2012-02-06  Jer Noble  <jer.noble@apple.com>
345
346         Use CMClock as a timing source for PlatformClock where available.
347         https://bugs.webkit.org/show_bug.cgi?id=77885
348
349         Reviewed by Eric Carlson.
350
351         No new tests; performance improvement covered by existing test cases.
352
353         * WebCore.xcodeproj/project.pbxproj:
354         * platform/Clock.cpp:
355         (Clock::create): Use PlatformClockCM if available.
356         * platform/mac/PlatformClockCM.h: Added.
357         (WebCore::PlatformClockCM::playRate):
358         (WebCore::PlatformClockCM::isRunning):
359         * platform/mac/PlatformClockCM.mm: Added.
360         (PlatformClockCM::PlatformClockCM):
361         (PlatformClockCM::initializeWithTimingSource):
362         (PlatformClockCM::setCurrentTime):
363         (PlatformClockCM::currentTime):
364         (PlatformClockCM::setPlayRate):
365         (PlatformClockCM::start):
366         (PlatformClockCM::stop):
367
368 2012-02-06  Anders Carlsson  <andersca@apple.com>
369
370         ScrollableAreaSet should be moved from Page to FrameView
371         https://bugs.webkit.org/show_bug.cgi?id=62762
372
373         Reviewed by Beth Dakin.
374
375         It makes more sense for the set of scrollable areas to be per frame view instead of per page;
376         scrollable areas are associated with a containing frame view and their lifecycle follows the lifecycle of the
377         frame view much more closely. This could even fix a bunch of crashes where a scrollable area outlived its containing page.
378
379         * WebCore.exp.in:
380         Replace the Page member functions with FrameView member functions instead.
381
382         * page/EventHandler.cpp:
383         (WebCore::EventHandler::mouseMoved):
384         Check if the frame view contains the given layer.
385
386         (WebCore::EventHandler::updateMouseEventTargetNode):
387         Ditto.
388
389         * page/FocusController.cpp:
390         (WebCore::contentAreaDidShowOrHide):
391         Add helper function.
392
393         (WebCore::FocusController::setContainingWindowIsVisible):
394         Call contentAreaDidShowOrHide for the main frame view, and for all scrollable areas
395         inside all subframe views.
396
397         * page/FrameView.cpp:
398         (WebCore::FrameView::FrameView):
399         Use early returns to make the code more clear. Also, don't add the scrollable area to the set here.
400
401         (WebCore::FrameView::~FrameView):
402         Don't remove the scrollable area here.
403
404         (WebCore::FrameView::zoomAnimatorTransformChanged):
405         m_page is gone so use m_frame->page() instead.
406
407         (WebCore::FrameView::setAnimatorsAreActive):
408         Call ScrollAnimator::setIsActive for all the scrollable areas in this frame view. Previously we used to do
409         this for all scrollable areas on the page, but since setAnimatorsAreActive will be called for each document,
410         this will be done implicitly.
411
412         (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
413         Call ScrollableArea::contentDidPaint for this frame view and all its immediate scrollable areas. Previously, we used
414         to do this for all scrollable areas on the page, but we only need to do it for this frame view.
415
416         (WebCore::FrameView::scrollAnimatorEnabled):
417         Get the page from m_frame since m_page is gone.
418
419         (WebCore::FrameView::addScrollableArea):
420         (WebCore::FrameView::removeScrollableArea):
421         (WebCore::FrameView::containsScrollableArea):
422         Move these member functions here from Page.
423
424         (WebCore::FrameView::addChild):
425         If we are adding a frame view, add it to the scrollable area set.
426
427         (WebCore::FrameView::removeChild):
428         If we are removing a frame view, remove it from the scrollable area set.
429
430         * page/FrameView.h:
431         Move the member function declarations and the scrollable area set member variable here from Page.
432
433         * page/Page.cpp:
434         (WebCore::Page::~Page):
435         Don't call disconnectPage on the scrollable areas anymore.
436
437         * platform/ScrollView.h:
438         (ScrollView):
439         Make addChild and removeChild virtual.
440
441         * platform/ScrollableArea.h:
442         Remove disconnectFromPage.
443
444         * rendering/RenderLayer.cpp:
445         (WebCore::RenderLayer::RenderLayer):
446         (WebCore::RenderLayer::~RenderLayer):
447         (WebCore::RenderLayer::styleChanged):
448         The frame view now keeps track of the scrollable areas.
449
450         * rendering/RenderLayer.h:
451         Remove the page member variable and disconnectFromPage.
452
453         * rendering/RenderListBox.cpp:
454         (WebCore::RenderListBox::RenderListBox):
455         (WebCore::RenderListBox::~RenderListBox):
456         The frame view now keeps track of the scrollable areas.
457
458         * rendering/RenderListBox.h:
459         Remove the page member variable and disconnectFromPage.
460
461 2012-02-07  Matthew Delaney  <mdelaney@apple.com>
462
463         Remove redundant checks in CanvasRenderingContext2D.cpp
464         https://bugs.webkit.org/show_bug.cgi?id=78000
465
466         Reviewed by Dan Bernstein.
467
468         * html/canvas/CanvasRenderingContext2D.cpp:
469         (WebCore::CanvasRenderingContext2D::setShadowColor):
470         (WebCore::CanvasRenderingContext2D::setShadow):
471         (WebCore::CanvasRenderingContext2D::drawImage):
472
473 2012-02-07  Abhishek Arya  <inferno@chromium.org>
474
475         Crash in ContainerNode functions due to mutation events.
476         https://bugs.webkit.org/show_bug.cgi?id=77999
477
478         Reviewed by Ryosuke Niwa.
479
480         Add RefPtr to protect premature deletion of this due to mutation events.
481
482         Tests: fast/dom/remove-body-during-body-replacement.html
483                fast/dom/remove-body-during-body-replacement2.html
484
485         * dom/ContainerNode.cpp:
486         (WebCore::ContainerNode::insertBefore):
487         (WebCore::ContainerNode::replaceChild):
488         (WebCore::ContainerNode::removeChild):
489         (WebCore::ContainerNode::appendChild):
490
491 2012-02-07  Dana Jansens  <danakj@chromium.org>
492
493         [Chromium] Memory bug during occlusion tracking if Vector::append() needs to reallocate the buffer
494         https://bugs.webkit.org/show_bug.cgi?id=77996
495
496         Reviewed by James Robinson.
497
498         We're holding onto the last element in the Vector and then calling
499         append(). If append() reallocates the Vector's buffer, the pointer
500         is no longer valid.
501
502         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
503         (WebCore::enterTargetRenderSurface):
504
505 2012-02-07  Abhishek Arya  <inferno@chromium.org>
506
507         Crash due to column style not updated on post block
508         in splitInlines.
509         https://bugs.webkit.org/show_bug.cgi?id=77939
510
511         Reviewed by Julien Chaffraix.
512
513         Test: fast/multicol/span/split-inline-wrong-post-block-crash.html
514
515         * rendering/RenderInline.cpp:
516         (WebCore::RenderInline::splitFlow):
517
518 2012-02-07  Peter Rybin  <peter.rybin@gmail.com>
519
520         Web Inspector: CodeGeneratorInspector.py: extend Array validator functionality
521         https://bugs.webkit.org/show_bug.cgi?id=77919
522
523         Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-02-07
524         Reviewed by Yury Semikhatsky.
525
526         Array validator method runtimeCast is added, internal backing method
527         is moved from .cpp to .h (it's template anyway), boolean validator is
528         supported.
529
530         * inspector/CodeGeneratorInspector.py:
531         (RawTypes.Bool.get_validate_method_params.ValidateMethodParams):
532         (RawTypes.Bool.get_validate_method_params):
533         (TypeBuilder):
534
535 2012-02-07  Dean Jackson  <dino@apple.com>
536
537         Apple/Safari: Enable WebGL multisampling on ATI cards
538         for OS X 10.7.2 and above.
539         https://bugs.webkit.org/show_bug.cgi?id=77922
540
541         Address review comments by Alexey Proskuryakov and Mark Rowe.
542
543         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
544         (WebCore::systemAllowsMultisamplingOnATICards):
545
546 2012-02-07  Dean Jackson  <dino@apple.com>
547
548         Apple/Safari: Enable WebGL multisampling on ATI cards
549         for OS X 10.7.2 and above.
550         https://bugs.webkit.org/show_bug.cgi?id=77922
551
552         Reviewed by Chris Marrin.
553
554         Follow Chrome's lead to allow WebGL antialiasing
555         on ATI cards as long as we're on 10.7.2 and above.
556
557         No new tests. Covered by existing tests.
558
559         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
560         (WebCore::systemAllowsMultisamplingOnATICards):
561         (WebCore):
562         (WebCore::GraphicsContext3D::validateAttributes):
563
564 2012-02-07  Pavel Feldman  <pfeldman@google.com>
565
566         Web Inspector: add generic support for undo-ing DOM edits.
567         https://bugs.webkit.org/show_bug.cgi?id=77875
568
569         Reviewed by Yury Semikhatsky.
570
571         This change introduces InspectorHistory::Action that encapsulates all DOM modifications
572         initiated by the inspector. There is a way to undo these actions up until the undoable
573         state marker.
574
575         Tests: inspector/elements/undo-dom-edits-2.html
576                inspector/elements/undo-dom-edits.html
577                inspector/styles/undo-add-property.html
578                inspector/styles/undo-change-property.html
579                inspector/styles/undo-property-toggle.html
580
581         * CMakeLists.txt:
582         * GNUmakefile.list.am:
583         * Target.pri:
584         * WebCore.gypi:
585         * WebCore.vcproj/WebCore.vcproj:
586         * WebCore.xcodeproj/project.pbxproj:
587         * inspector/Inspector.json:
588         * inspector/InspectorAllInOne.cpp:
589         * inspector/InspectorCSSAgent.cpp:
590         (InspectorCSSAgent::StyleSheetAction):
591         (WebCore::InspectorCSSAgent::StyleSheetAction::StyleSheetAction):
592         (WebCore::InspectorCSSAgent::StyleSheetAction::perform):
593         (WebCore::InspectorCSSAgent::StyleSheetAction::undo):
594         (WebCore):
595         (InspectorCSSAgent::SetStyleSheetTextAction):
596         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::SetStyleSheetTextAction):
597         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
598         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
599         (InspectorCSSAgent::SetPropertyTextAction):
600         (WebCore::InspectorCSSAgent::SetPropertyTextAction::SetPropertyTextAction):
601         (WebCore::InspectorCSSAgent::SetPropertyTextAction::toString):
602         (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
603         (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
604         (WebCore::InspectorCSSAgent::SetPropertyTextAction::mergeId):
605         (WebCore::InspectorCSSAgent::SetPropertyTextAction::merge):
606         (InspectorCSSAgent::TogglePropertyAction):
607         (WebCore::InspectorCSSAgent::TogglePropertyAction::TogglePropertyAction):
608         (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
609         (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
610         (WebCore::InspectorCSSAgent::getStyleSheetText):
611         (WebCore::InspectorCSSAgent::setStyleSheetText):
612         (WebCore::InspectorCSSAgent::setPropertyText):
613         (WebCore::InspectorCSSAgent::toggleProperty):
614         * inspector/InspectorCSSAgent.h:
615         (InspectorCSSAgent):
616         * inspector/InspectorDOMAgent.cpp:
617         (InspectorDOMAgent::DOMAction):
618         (WebCore::InspectorDOMAgent::DOMAction::DOMAction):
619         (WebCore::InspectorDOMAgent::DOMAction::perform):
620         (WebCore::InspectorDOMAgent::DOMAction::undo):
621         (WebCore):
622         (InspectorDOMAgent::RemoveChildAction):
623         (WebCore::InspectorDOMAgent::RemoveChildAction::RemoveChildAction):
624         (WebCore::InspectorDOMAgent::RemoveChildAction::perform):
625         (WebCore::InspectorDOMAgent::RemoveChildAction::undo):
626         (InspectorDOMAgent::InsertBeforeAction):
627         (WebCore::InspectorDOMAgent::InsertBeforeAction::InsertBeforeAction):
628         (WebCore::InspectorDOMAgent::InsertBeforeAction::perform):
629         (WebCore::InspectorDOMAgent::InsertBeforeAction::undo):
630         (InspectorDOMAgent::RemoveAttributeAction):
631         (WebCore::InspectorDOMAgent::RemoveAttributeAction::RemoveAttributeAction):
632         (WebCore::InspectorDOMAgent::RemoveAttributeAction::perform):
633         (WebCore::InspectorDOMAgent::RemoveAttributeAction::undo):
634         (InspectorDOMAgent::SetAttributeAction):
635         (WebCore::InspectorDOMAgent::SetAttributeAction::SetAttributeAction):
636         (WebCore::InspectorDOMAgent::SetAttributeAction::perform):
637         (WebCore::InspectorDOMAgent::SetAttributeAction::undo):
638         (InspectorDOMAgent::SetOuterHTMLAction):
639         (WebCore::InspectorDOMAgent::SetOuterHTMLAction::SetOuterHTMLAction):
640         (WebCore::InspectorDOMAgent::SetOuterHTMLAction::perform):
641         (WebCore::InspectorDOMAgent::SetOuterHTMLAction::undo):
642         (WebCore::InspectorDOMAgent::SetOuterHTMLAction::newNode):
643         (InspectorDOMAgent::ReplaceWholeTextAction):
644         (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::ReplaceWholeTextAction):
645         (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::perform):
646         (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::undo):
647         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
648         (WebCore::InspectorDOMAgent::reset):
649         (WebCore::InspectorDOMAgent::setAttributeValue):
650         (WebCore::InspectorDOMAgent::setAttributesAsText):
651         (WebCore::InspectorDOMAgent::removeAttribute):
652         (WebCore::InspectorDOMAgent::removeNode):
653         (WebCore::InspectorDOMAgent::setNodeName):
654         (WebCore::InspectorDOMAgent::setOuterHTML):
655         (WebCore::InspectorDOMAgent::setNodeValue):
656         (WebCore::InspectorDOMAgent::moveTo):
657         (WebCore::InspectorDOMAgent::undo):
658         (WebCore::InspectorDOMAgent::markUndoableState):
659         * inspector/InspectorDOMAgent.h:
660         (InspectorDOMAgent):
661         (WebCore::InspectorDOMAgent::history):
662         * inspector/InspectorHistory.cpp: Added.
663         (WebCore::InspectorHistory::Action::Action):
664         (WebCore):
665         (WebCore::InspectorHistory::Action::~Action):
666         (WebCore::InspectorHistory::Action::toString):
667         (WebCore::InspectorHistory::Action::isUndoableStateMark):
668         (WebCore::InspectorHistory::Action::mergeId):
669         (WebCore::InspectorHistory::Action::merge):
670         (WebCore::InspectorHistory::InspectorHistory):
671         (WebCore::InspectorHistory::~InspectorHistory):
672         (WebCore::InspectorHistory::perform):
673         (WebCore::InspectorHistory::markUndoableState):
674         (WebCore::InspectorHistory::undo):
675         (WebCore::InspectorHistory::reset):
676         * inspector/InspectorHistory.h: Added.
677         (WebCore):
678         (InspectorHistory):
679         (Action):
680         * inspector/InspectorStyleSheet.cpp:
681         (WebCore::InspectorStyle::setPropertyText):
682         (WebCore::InspectorStyle::styleText):
683         (WebCore::InspectorStyleSheet::addRule):
684         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
685         (WebCore::InspectorStyleSheet::buildObjectForStyle):
686         (WebCore::InspectorStyleSheet::setPropertyText):
687         (WebCore::InspectorStyleSheet::getText):
688         (WebCore::InspectorStyleSheetForInlineStyle::getText):
689         * inspector/InspectorStyleSheet.h:
690         (InspectorStyle):
691         (InspectorStyleSheet):
692         (InspectorStyleSheetForInlineStyle):
693         * inspector/front-end/CSSStyleModel.js:
694         (WebInspector.CSSProperty.prototype.setText):
695         * inspector/front-end/ElementsPanel.js:
696         (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
697         (WebInspector.ElementsPanel.prototype._updateSidebars):
698         (WebInspector.ElementsPanel.prototype.handleShortcut):
699         * inspector/front-end/StylesSidebarPane.js:
700         (WebInspector.StylePropertiesSection.prototype.onpopulate):
701         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
702         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
703         (WebInspector.StylePropertyTreeElement):
704         (WebInspector.StylePropertyTreeElement.prototype):
705
706 2012-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
707
708         Unreviewed, rolling out r106935.
709         http://trac.webkit.org/changeset/106935
710         https://bugs.webkit.org/show_bug.cgi?id=77994
711
712         "Crashes runMultiThread webkit_unit_test" (Requested by tonyg-
713         cr on #webkit).
714
715         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
716         (WebCore::CCLayerTreeHost::setNeedsRedraw):
717         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
718         (WebCore::CCSingleThreadProxy::setNeedsRedraw):
719         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
720         (WebCore::CCThreadProxy::setNeedsRedraw):
721         * platform/graphics/chromium/cc/CCThreadProxy.h:
722         (CCThreadProxy):
723
724 2012-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
725
726         Unreviewed, rolling out r106932.
727         http://trac.webkit.org/changeset/106932
728         https://bugs.webkit.org/show_bug.cgi?id=77988
729
730         Breaks Mac bots (Requested by pfeldman on #webkit).
731
732         * CMakeLists.txt:
733         * GNUmakefile.list.am:
734         * Target.pri:
735         * WebCore.gypi:
736         * WebCore.vcproj/WebCore.vcproj:
737         * WebCore.xcodeproj/project.pbxproj:
738         * inspector/Inspector.json:
739         * inspector/InspectorAllInOne.cpp:
740         * inspector/InspectorCSSAgent.cpp:
741         (WebCore::InspectorCSSAgent::getStyleSheetText):
742         (WebCore::InspectorCSSAgent::setStyleSheetText):
743         (WebCore::InspectorCSSAgent::setPropertyText):
744         (WebCore::InspectorCSSAgent::toggleProperty):
745         * inspector/InspectorCSSAgent.h:
746         (InspectorCSSAgent):
747         * inspector/InspectorDOMAgent.cpp:
748         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
749         (WebCore::InspectorDOMAgent::reset):
750         (WebCore::InspectorDOMAgent::setAttributeValue):
751         (WebCore::InspectorDOMAgent::setAttributesAsText):
752         (WebCore::InspectorDOMAgent::removeAttribute):
753         (WebCore::InspectorDOMAgent::removeNode):
754         (WebCore::InspectorDOMAgent::setNodeName):
755         (WebCore::InspectorDOMAgent::setOuterHTML):
756         (WebCore::InspectorDOMAgent::setNodeValue):
757         (WebCore::InspectorDOMAgent::moveTo):
758         * inspector/InspectorDOMAgent.h:
759         (InspectorDOMAgent):
760         * inspector/InspectorHistory.cpp: Removed.
761         * inspector/InspectorHistory.h: Removed.
762         * inspector/InspectorStyleSheet.cpp:
763         (WebCore::InspectorStyle::setPropertyText):
764         (WebCore::InspectorStyle::styleText):
765         (WebCore::InspectorStyleSheet::addRule):
766         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
767         (WebCore::InspectorStyleSheet::buildObjectForStyle):
768         (WebCore::InspectorStyleSheet::setPropertyText):
769         (WebCore::InspectorStyleSheet::text):
770         (WebCore::InspectorStyleSheetForInlineStyle::text):
771         * inspector/InspectorStyleSheet.h:
772         (InspectorStyle):
773         (InspectorStyleSheet):
774         (InspectorStyleSheetForInlineStyle):
775         * inspector/front-end/CSSStyleModel.js:
776         (WebInspector.CSSProperty.prototype.setText):
777         * inspector/front-end/ElementsPanel.js:
778         (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
779         (WebInspector.ElementsPanel.prototype.handleShortcut):
780         * inspector/front-end/StylesSidebarPane.js:
781         (WebInspector.StylePropertiesSection.prototype.onpopulate):
782         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
783         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
784         (WebInspector.StylePropertyTreeElement):
785         (WebInspector.StylePropertyTreeElement.prototype):
786
787 2012-02-07  Priit Laes  <plaes@plaes.org>
788
789         [GTK] Build failure with --enable-web-audio
790         https://bugs.webkit.org/show_bug.cgi?id=77978
791
792         Reviewed by Gustavo Noronha Silva.
793
794         * GNUmakefile.list.am: Include AudioSourceProviderClient.h
795
796 2012-02-07  Alexei Filippov  <alexeif@chromium.org>
797
798         Web Inspector: fix objects duplication when switching filter in heap profiler.
799         https://bugs.webkit.org/show_bug.cgi?id=77974
800
801         Reviewed by Yury Semikhatsky.
802
803         * inspector/front-end/DetailedHeapshotView.js:
804         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
805
806 2012-02-07  Jonathan Backer  <backer@chromium.org>
807
808         [chromium] Add setNeedsRedraw to WebWidget
809         https://bugs.webkit.org/show_bug.cgi?id=77555
810
811         Reviewed by James Robinson.
812
813         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
814         (WebCore::CCLayerTreeHost::setNeedsRedraw):
815         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
816         (WebCore::CCSingleThreadProxy::setNeedsRedraw):
817         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
818         (WebCore::CCThreadProxy::setNeedsRedraw):
819         (WebCore::CCThreadProxy::resetDamageTrackerOnImplThread):
820         (WebCore):
821         * platform/graphics/chromium/cc/CCThreadProxy.h:
822         (CCThreadProxy):
823
824 2012-02-07  Michael Brüning  <michael.bruning@nokia.com>
825
826         [Qt][WK2] Compute and set cache capacities using the current CacheModel
827         https://bugs.webkit.org/show_bug.cgi?id=73918
828
829         Reviewed by Kenneth Rohde Christiansen.
830
831         No new tests. (build fix)
832
833         * platform/qt/FileSystemQt.cpp:
834         (WebCore::getVolumeFreeSizeForPath):
835
836 2012-02-07  Pavel Feldman  <pfeldman@google.com>
837
838         Web Inspector: add generic support for undo-ing DOM edits.
839         https://bugs.webkit.org/show_bug.cgi?id=77875
840
841         Reviewed by Yury Semikhatsky.
842
843         This change introduces InspectorHistory::Action that encapsulates all DOM modifications
844         initiated by the inspector. There is a way to undo these actions up until the undoable
845         state marker.
846
847         Tests: inspector/elements/undo-dom-edits-2.html
848                inspector/elements/undo-dom-edits.html
849                inspector/styles/undo-add-property.html
850                inspector/styles/undo-change-property.html
851                inspector/styles/undo-property-toggle.html
852
853         * CMakeLists.txt:
854         * GNUmakefile.list.am:
855         * Target.pri:
856         * WebCore.gypi:
857         * WebCore.vcproj/WebCore.vcproj:
858         * WebCore.xcodeproj/project.pbxproj:
859         * inspector/Inspector.json:
860         * inspector/InspectorAllInOne.cpp:
861         * inspector/InspectorCSSAgent.cpp:
862         (InspectorCSSAgent::StyleSheetAction):
863         (WebCore::InspectorCSSAgent::StyleSheetAction::StyleSheetAction):
864         (WebCore::InspectorCSSAgent::StyleSheetAction::perform):
865         (WebCore::InspectorCSSAgent::StyleSheetAction::undo):
866         (WebCore):
867         (InspectorCSSAgent::SetStyleSheetTextAction):
868         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::SetStyleSheetTextAction):
869         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
870         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
871         (InspectorCSSAgent::SetPropertyTextAction):
872         (WebCore::InspectorCSSAgent::SetPropertyTextAction::SetPropertyTextAction):
873         (WebCore::InspectorCSSAgent::SetPropertyTextAction::toString):
874         (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
875         (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
876         (WebCore::InspectorCSSAgent::SetPropertyTextAction::mergeId):
877         (WebCore::InspectorCSSAgent::SetPropertyTextAction::merge):
878         (InspectorCSSAgent::TogglePropertyAction):
879         (WebCore::InspectorCSSAgent::TogglePropertyAction::TogglePropertyAction):
880         (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
881         (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
882         (WebCore::InspectorCSSAgent::getStyleSheetText):
883         (WebCore::InspectorCSSAgent::setStyleSheetText):
884         (WebCore::InspectorCSSAgent::setPropertyText):
885         (WebCore::InspectorCSSAgent::toggleProperty):
886         * inspector/InspectorCSSAgent.h:
887         (InspectorCSSAgent):
888         * inspector/InspectorDOMAgent.cpp:
889         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
890         (WebCore::InspectorDOMAgent::reset):
891         (WebCore::InspectorDOMAgent::setAttributeValue):
892         (WebCore::InspectorDOMAgent::setAttributesAsText):
893         (WebCore::InspectorDOMAgent::removeAttribute):
894         (WebCore::InspectorDOMAgent::removeNode):
895         (WebCore::InspectorDOMAgent::setNodeName):
896         (WebCore::InspectorDOMAgent::setOuterHTML):
897         (WebCore::InspectorDOMAgent::setNodeValue):
898         (WebCore::InspectorDOMAgent::moveTo):
899         (WebCore::InspectorDOMAgent::undo):
900         (WebCore):
901         (WebCore::InspectorDOMAgent::markUndoableState):
902         * inspector/InspectorDOMAgent.h:
903         (InspectorDOMAgent):
904         (WebCore::InspectorDOMAgent::history):
905         * inspector/InspectorHistory.cpp: Added.
906         (WebCore::InspectorHistory::Action::Action):
907         (WebCore):
908         (WebCore::InspectorHistory::Action::~Action):
909         (WebCore::InspectorHistory::Action::toString):
910         (WebCore::InspectorHistory::Action::isUndoableStateMark):
911         (WebCore::InspectorHistory::Action::mergeId):
912         (WebCore::InspectorHistory::Action::merge):
913         (WebCore::InspectorHistory::InspectorHistory):
914         (WebCore::InspectorHistory::~InspectorHistory):
915         (WebCore::InspectorHistory::perform):
916         (WebCore::InspectorHistory::markUndoableState):
917         (WebCore::InspectorHistory::undo):
918         (WebCore::InspectorHistory::reset):
919         * inspector/InspectorHistory.h: Added.
920         (WebCore):
921         (InspectorHistory):
922         (Action):
923         * inspector/InspectorStyleSheet.cpp:
924         (WebCore::InspectorStyle::setPropertyText):
925         (WebCore::InspectorStyle::styleText):
926         (WebCore::InspectorStyleSheet::addRule):
927         (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
928         (WebCore::InspectorStyleSheet::buildObjectForStyle):
929         (WebCore::InspectorStyleSheet::setPropertyText):
930         (WebCore::InspectorStyleSheet::getText):
931         (WebCore::InspectorStyleSheetForInlineStyle::getText):
932         * inspector/InspectorStyleSheet.h:
933         (InspectorStyle):
934         (InspectorStyleSheet):
935         (InspectorStyleSheetForInlineStyle):
936         * inspector/front-end/CSSStyleModel.js:
937         (WebInspector.CSSProperty.prototype.setText):
938         * inspector/front-end/ElementsPanel.js:
939         (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
940         (WebInspector.ElementsPanel.prototype._updateSidebars):
941         (WebInspector.ElementsPanel.prototype.handleShortcut):
942         * inspector/front-end/StylesSidebarPane.js:
943         (WebInspector.StylePropertiesSection.prototype.onpopulate):
944         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
945         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
946         (WebInspector.StylePropertyTreeElement):
947         (WebInspector.StylePropertyTreeElement.prototype):
948
949 2012-02-07  Chris Guan  <chris.guan@torchmobile.com.cn>
950
951         [Blackberry] Clean up Networkjob and Networkmanger: remove unused variables in release build and change some public functions into be private ones
952         https://bugs.webkit.org/show_bug.cgi?id=77926
953
954         Reviewed by Rob Buis.
955
956         1. rename clientIsOk to isClientAvailable.
957         2. m_isRunning is only for an ASSERT in NetWorkManager, So move out from
958         release build but keep available in debug build.
959         
960         No changes in behavior, so no new tests.
961
962         * platform/network/blackberry/NetworkJob.cpp:
963         (WebCore::NetworkJob::NetworkJob):
964         (WebCore::NetworkJob::handleNotifyDataReceived):
965         (WebCore::NetworkJob::handleNotifyDataSent):
966         (WebCore::NetworkJob::handleNotifyClose):
967         (WebCore::NetworkJob::startNewJobWithRequest):
968         (WebCore::NetworkJob::sendResponseIfNeeded):
969         (WebCore::NetworkJob::sendMultipartResponseIfNeeded):
970         * platform/network/blackberry/NetworkJob.h:
971         (NetworkJob):
972         (WebCore::NetworkJob::isClientAvailable):
973
974 2012-02-06  Yury Semikhatsky  <yurys@chromium.org>
975
976         Web Inspector: don't mark object is queriable if it is only reachable by internal reference
977         https://bugs.webkit.org/show_bug.cgi?id=77877
978
979         Reviewed by Pavel Feldman.
980
981         * inspector/front-end/HeapSnapshot.js:
982         (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
983
984 2012-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
985
986         Unreviewed, rolling out r106909.
987         http://trac.webkit.org/changeset/106909
988         https://bugs.webkit.org/show_bug.cgi?id=77965
989
990         ~20 tests are crashing on chromium win release bot. (Requested
991         by loislo on #webkit).
992
993         * html/HTMLDetailsElement.cpp:
994         (WebCore::HTMLDetailsElement::createShadowSubtree):
995         * html/HTMLKeygenElement.cpp:
996         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
997         * html/HTMLMeterElement.cpp:
998         (WebCore::HTMLMeterElement::createShadowSubtree):
999         * html/HTMLProgressElement.cpp:
1000         (WebCore::HTMLProgressElement::createShadowSubtree):
1001         * html/HTMLSummaryElement.cpp:
1002         (WebCore::HTMLSummaryElement::createShadowSubtree):
1003         * html/HTMLTextAreaElement.cpp:
1004         (WebCore::HTMLTextAreaElement::createShadowSubtree):
1005
1006 2012-02-07  Andreas Kling  <awesomekling@apple.com>
1007
1008         REGRESSION(r106819): ~28% or so performance regression on the ManInBlue HTML benchmark
1009         <http://webkit.org/b/77952>
1010
1011         Reviewed by Andreas Kling.
1012         Patch by Ryosuke Niwa.
1013
1014         The performance regression was caused by using ensureAttributeData() which forces the
1015         regeneration of invalidated attributes ("style" and SVG animatable attributes.)
1016         Added an ensureAttributeDataWithoutUpdate() helper that only ensures the presence
1017         of ElementAttributeData, not the validity of its contents. Use that when grabbing
1018         at an element's inline and attribute styles.
1019
1020         * dom/Element.h:
1021         (Element):
1022         (WebCore::Element::ensureAttributeDataWithoutUpdate):
1023         * dom/StyledElement.h:
1024         (WebCore::StyledElement::ensureInlineStyleDecl):
1025         (WebCore::StyledElement::ensureAttributeStyle):
1026
1027 2012-02-07  Michael Brüning  <michael.bruning@nokia.com>
1028
1029         [Qt][WK2] Compute and set cache capacities using the current CacheModel
1030         https://bugs.webkit.org/show_bug.cgi?id=73918
1031
1032         Reviewed by Csaba Osztrogonác.
1033
1034         No new tests. (build fix).
1035
1036         * platform/qt/FileSystemQt.cpp:
1037
1038 2012-02-07  Michael Brüning  <michael.bruning@nokia.com>
1039
1040         [Qt][WK2] Compute and set cache capacities using the current CacheModel
1041         https://bugs.webkit.org/show_bug.cgi?id=73918
1042
1043         Reviewed by Kenneth Rohde Christiansen.
1044
1045         No new tests. (Not applicable)
1046
1047         Added OS-specific implementation for retrieving the free disk space.
1048
1049         * platform/FileSystem.h:
1050         (WebCore):
1051         * platform/qt/FileSystemQt.cpp:
1052         (WebCore::getVolumeFreeSizeForPath):
1053         (WebCore):
1054
1055 2012-02-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1056
1057         [Inspector] Add the Nokia N9 user agent
1058         https://bugs.webkit.org/show_bug.cgi?id=77949
1059
1060         Reviewed by Simon Hausmann.
1061
1062         * inspector/front-end/SettingsScreen.js:
1063         (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
1064
1065 2012-02-07  Alexander Pavlov  <apavlov@chromium.org>
1066
1067         [CRASH] bool EventHandler::dispatchSyntheticTouchEventIfEnabled(const PlatformMouseEvent& event) references a NULL pointer
1068         https://bugs.webkit.org/show_bug.cgi?id=77953
1069
1070         Reviewed by Andreas Kling.
1071
1072         * page/EventHandler.cpp:
1073         (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
1074
1075 2012-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1076
1077         Unreviewed, rolling out r106912.
1078         http://trac.webkit.org/changeset/106912
1079         https://bugs.webkit.org/show_bug.cgi?id=77947
1080
1081         "AppleWebKit build is broken" (Requested by haraken on
1082         #webkit).
1083
1084         * dom/ScriptExecutionContext.cpp:
1085         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
1086         (WebCore):
1087         * dom/ScriptExecutionContext.h:
1088         (WebCore):
1089         (ScriptExecutionContext):
1090         * html/DOMURL.cpp:
1091         (WebCore::DOMURL::DOMURL):
1092         (WebCore):
1093         (WebCore::DOMURL::~DOMURL):
1094         (WebCore::DOMURL::contextDestroyed):
1095         (WebCore::DOMURL::createObjectURL):
1096         (WebCore::DOMURL::revokeObjectURL):
1097         * html/DOMURL.h:
1098         (WebCore::DOMURL::create):
1099         (DOMURL):
1100         * html/DOMURL.idl:
1101         * html/PublicURLManager.h: Removed.
1102         * page/DOMWindow.cpp:
1103         (WebCore):
1104         (WebCore::DOMWindow::webkitURL):
1105         * page/DOMWindow.h:
1106         (DOMWindow):
1107         * page/DOMWindow.idl:
1108         * workers/WorkerContext.cpp:
1109         (WebCore):
1110         (WebCore::WorkerContext::webkitURL):
1111         * workers/WorkerContext.h:
1112         (WorkerContext):
1113         * workers/WorkerContext.idl:
1114
1115 2012-02-07  Kentaro Hara  <haraken@chromium.org>
1116
1117         Unreviewed, rolling out r106862.
1118         http://trac.webkit.org/changeset/106862
1119         https://bugs.webkit.org/show_bug.cgi?id=77510
1120
1121         Mac build fails if we manually remove generated code
1122
1123         * DerivedSources.make:
1124         * bindings/scripts/generate-bindings.pl:
1125         (generateEmptyHeaderAndCpp):
1126         * bindings/scripts/resolve-supplemental.pl:
1127         * bindings/scripts/update-idl-needs-rebuild.pl: Removed.
1128
1129 2012-02-07  Kaustubh Atrawalkar  <kaustubh@motorola.com>
1130
1131         Migrate createObjectURL & revokeObjectURL to static (Class) methods.
1132         https://bugs.webkit.org/show_bug.cgi?id=74386
1133
1134         Reviewed by David Levin.
1135
1136         Test: fast/dom/DOMURL/check-instanceof-domurl-functions.html
1137         Already Existing:
1138             fast/files/revoke-blob-url.html
1139             fast/dom/window-domurl-crash.html
1140             fast/files/apply-blob-url-to-img.html
1141             fast/files/create-blob-url-crash.html
1142             fast/files/workers/inline-worker-via-blob-url.html
1143
1144         * dom/ScriptExecutionContext.cpp:
1145         (WebCore::ScriptExecutionContext::fileThread):
1146         (WebCore):
1147         (WebCore::ScriptExecutionContext::publicURLManager):
1148         * dom/ScriptExecutionContext.h:
1149         (WebCore):
1150         (ScriptExecutionContext):
1151         * html/DOMURL.cpp:
1152         (WebCore):
1153         (WebCore::DOMURL::createObjectURL): Changed to static.
1154         (WebCore::DOMURL::revokeObjectURL): ditto.
1155         * html/DOMURL.h:
1156         (DOMURL):
1157         (WebCore::DOMURL::create):
1158         * html/DOMURL.idl:
1159         * html/PublicURLManager.h: Added.
1160         (WebCore):
1161         (PublicURLManager):
1162         (WebCore::PublicURLManager::create):
1163         (WebCore::PublicURLManager::contextDestroyed):
1164         (WebCore::PublicURLManager::blobURLs):
1165         (WebCore::PublicURLManager::streamURLs):
1166         * page/DOMWindow.cpp: Removed object initialization for DOMURL.
1167         (WebCore):
1168         * page/DOMWindow.h: ditto.
1169         (DOMWindow):
1170         * page/DOMWindow.idl:
1171         * workers/WorkerContext.cpp:
1172         (WebCore):
1173         * workers/WorkerContext.h:
1174         (WorkerContext):
1175         * workers/WorkerContext.idl:
1176
1177 2012-02-03  Vsevolod Vlasov  <vsevik@chromium.org>
1178
1179         http/tests/inspector/indexeddb/database-structure.html failing on chromium win/linux
1180         https://bugs.webkit.org/show_bug.cgi?id=77661
1181
1182         Reviewed by Yury Semikhatsky.
1183
1184         * inspector/InspectorIndexedDBAgent.cpp:
1185         (WebCore):
1186
1187 2012-02-07  Hayato Ito  <hayato@chromium.org>
1188
1189         Fix build on Mac with '--shadow-dom'.
1190         https://bugs.webkit.org/show_bug.cgi?id=77940
1191
1192         Reviewed by Hajime Morita.
1193
1194         * WebCore.xcodeproj/project.pbxproj:
1195
1196 2012-02-06  Shinya Kawanaka  <shinyak@google.com>
1197
1198         Stop calling Element::ensureShadowRoot() if it is used in construction phase.
1199         https://bugs.webkit.org/show_bug.cgi?id=77929
1200
1201         Reviewed by Hajime Morita.
1202
1203         ShadowRoot's life cycle can be consufing If Element::ensureShadowRoot() is used.
1204         So we want to remove Element::ensureShadowRoot().
1205         This patch replaces Element::ensureShadowRoot() if it is used in object construction phase.
1206
1207         No new tests, no change in behavior.
1208
1209         * html/HTMLDetailsElement.cpp:
1210         (WebCore::HTMLDetailsElement::createShadowSubtree):
1211         * html/HTMLKeygenElement.cpp:
1212         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
1213         * html/HTMLMeterElement.cpp:
1214         (WebCore::HTMLMeterElement::createShadowSubtree):
1215         * html/HTMLProgressElement.cpp:
1216         (WebCore::HTMLProgressElement::createShadowSubtree):
1217         * html/HTMLSummaryElement.cpp:
1218         (WebCore::HTMLSummaryElement::createShadowSubtree):
1219         * html/HTMLTextAreaElement.cpp:
1220         (WebCore::HTMLTextAreaElement::createShadowSubtree):
1221
1222 2012-02-06  Shinya Kawanaka  <shinyak@google.com>
1223
1224         Remove Element::ensureShadowRoot export.
1225         https://bugs.webkit.org/show_bug.cgi?id=77932
1226
1227         Reviewed by Hajime Morita.
1228
1229         Removes Element::ensureShadowRoot export.
1230
1231         No new tests, no change in behavior.
1232
1233         * WebCore.exp.in:
1234
1235 2012-02-06  Ilya Tikhonovsky  <loislo@chromium.org>
1236
1237         Unreviewed. Web Inspector: rename Artificial to Synthetic according to v8 patch r10614.
1238
1239         * inspector/front-end/DetailedHeapshotGridNodes.js:
1240         * inspector/front-end/HeapSnapshot.js:
1241         (WebInspector.HeapSnapshotNode.prototype.get isSynthetic):
1242         (WebInspector.HeapSnapshot.prototype._init):
1243
1244 2012-02-06  Hayato Ito  <hayato@chromium.org>
1245
1246         Implement querySelector on ShadowRoot.
1247         https://bugs.webkit.org/show_bug.cgi?id=77714
1248
1249         Reviewed by Dimitri Glazkov.
1250
1251         * dom/SelectorQuery.cpp:
1252         (WebCore::nodeIsRootNodeOfTreeScope):
1253         (WebCore):
1254         (WebCore::SelectorDataList::execute):
1255
1256 2012-02-06  Martin Robinson  <mrobinson@igalia.com> and Nayan Kumar K  <nayankk@motorola.com>
1257
1258         [GTK] Add TextureMapperGL implementation
1259         https://bugs.webkit.org/show_bug.cgi?id=75308
1260
1261         Reviewed by Alejandro G. Castro.
1262
1263         No new tests. This will be covered by accelerated compositing and
1264         3D CSS transform tests eventually.
1265
1266         * GNUmakefile.list.am: Added some files necessary to build TextureMapperGL.
1267         * platform/graphics/cairo/TextureMapperGLCairo.cpp: Added implementations.
1268         * platform/graphics/cairo/TextureMapperGLCairo.h: Updated member list.
1269         * platform/graphics/gtk/WindowGLContext.h: Added.
1270         * platform/graphics/gtk/WindowGLContextGLX.cpp: Added.
1271         * platform/graphics/opengl/TextureMapperGL.cpp: Use the GL shims on GTK.
1272
1273 2012-02-06  Emil A Eklund  <eae@chromium.org>
1274
1275         Change baselinePosition and lineHeight to LayoutUnit
1276         https://bugs.webkit.org/show_bug.cgi?id=77905
1277
1278         Reviewed by Eric Seidel.
1279
1280         Change the virtual baselinePosition and lineHeight methods to return
1281         LayoutUnits as they are both computed from the height and top/bottom
1282         margins (or width and left/right margins for vertical text), all of
1283         which are LayoutUnits.
1284
1285         No new tests.
1286
1287         * platform/efl/RenderThemeEfl.cpp:
1288         (WebCore::RenderThemeEfl::baselinePosition):
1289         * platform/efl/RenderThemeEfl.h:
1290         (RenderThemeEfl):
1291         * platform/gtk/RenderThemeGtk.cpp:
1292         (WebCore::RenderThemeGtk::baselinePosition):
1293         * platform/gtk/RenderThemeGtk.h:
1294         (RenderThemeGtk):
1295         * platform/qt/RenderThemeQt.cpp:
1296         (WebCore::RenderThemeQt::baselinePosition):
1297         * platform/qt/RenderThemeQt.h:
1298         (RenderThemeQt):
1299         * rendering/RenderListMarker.cpp:
1300         (WebCore::RenderListMarker::lineHeight):
1301         (WebCore::RenderListMarker::baselinePosition):
1302         * rendering/RenderListMarker.h:
1303         (RenderListMarker):
1304         * rendering/RenderSlider.cpp:
1305         (WebCore::RenderSlider::baselinePosition):
1306         * rendering/RenderSlider.h:
1307         (RenderSlider):
1308         * rendering/RootInlineBox.h:
1309         (WebCore::RootInlineBox::baselinePosition):
1310         (WebCore::RootInlineBox::lineHeight):
1311         * rendering/mathml/RenderMathMLFraction.cpp:
1312         (WebCore::RenderMathMLFraction::baselinePosition):
1313         * rendering/mathml/RenderMathMLFraction.h:
1314         (RenderMathMLFraction):
1315         * rendering/mathml/RenderMathMLOperator.cpp:
1316         (WebCore::RenderMathMLOperator::baselinePosition):
1317         * rendering/mathml/RenderMathMLOperator.h:
1318         (RenderMathMLOperator):
1319         * rendering/mathml/RenderMathMLRow.cpp:
1320         (WebCore::RenderMathMLRow::baselinePosition):
1321         * rendering/mathml/RenderMathMLRow.h:
1322         (RenderMathMLRow):
1323         * rendering/mathml/RenderMathMLSubSup.cpp:
1324         (WebCore::RenderMathMLSubSup::baselinePosition):
1325         * rendering/mathml/RenderMathMLSubSup.h:
1326         (RenderMathMLSubSup):
1327         * rendering/mathml/RenderMathMLUnderOver.cpp:
1328         (WebCore::RenderMathMLUnderOver::baselinePosition):
1329         * rendering/mathml/RenderMathMLUnderOver.h:
1330         (RenderMathMLUnderOver):
1331
1332 2012-02-06  Xianzhu Wang  <wangxianzhu@chromium.org>
1333
1334         Avoid Page::updateViewportArguments() if the causing frame is not the main frame
1335         https://bugs.webkit.org/show_bug.cgi?id=77387
1336
1337         Reviewed by Kenneth Rohde Christiansen.
1338
1339         * dom/Document.cpp:
1340         (WebCore::Document::processViewport):
1341         (WebCore::Document::updateViewportArguments):
1342         (WebCore::Document::setInPageCache):
1343         * dom/Document.h:
1344         (Document):
1345         * html/HTMLBodyElement.cpp:
1346         (WebCore::HTMLBodyElement::insertedIntoDocument):
1347         * page/Frame.cpp:
1348         (WebCore::Frame::setDocument):
1349         * page/Page.cpp:
1350         (WebCore::Page::viewportArguments):
1351         (WebCore):
1352         * page/Page.h:
1353         (Page):
1354
1355 2012-02-06  Martin Robinson  <mrobinson@igalia.com>
1356
1357         Fix some miscellaneous 'make dist' error for WebKitGTK+.
1358
1359         * GNUmakefile.list.am: Add some missing Shadow DOM files to the
1360         source list.
1361
1362 2012-02-06  Dana Jansens  <danakj@chromium.org>
1363
1364         Add contains() test to Region
1365         https://bugs.webkit.org/show_bug.cgi?id=72294
1366
1367         Reviewed by Anders Carlsson.
1368
1369         * platform/graphics/Region.cpp:
1370         (WebCore::Region::contains):
1371         (WebCore):
1372         * platform/graphics/Region.h:
1373         (Region):
1374         (Shape):
1375         (WebCore::operator==):
1376         (WebCore):
1377
1378 2012-02-06  Kentaro Hara  <haraken@chromium.org>
1379
1380         Rename [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
1381         [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs
1382         https://bugs.webkit.org/show_bug.cgi?id=77852
1383
1384         Reviewed by Adam Barth.
1385
1386         This patch renames [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
1387         [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs for clarification.
1388
1389         [DontCheckEnums] => [DoNotCheckConstants]  (This IDL inserts assertions to check if a
1390         constant value is equal to the expected constant value)
1391         [ReturnsNew] => [ReturnNewObject] (For clarification)
1392         [DoNotCheckDomainSecurityOnGet] => [DoNotCheckDomainSecurityOnGetter] (For naming consistency
1393         with other [*Getter] IDLs)
1394         [DoNotCheckDomainSecurityOnSet] => [DoNotCheckDomainSecurityOnSetter] (For naming consistency
1395         with other [*Setter] IDLs)
1396         [ImplementationFunction=] => [ImplementedAs=] (For clarification. This IDL specifies a method
1397         name in implementation)
1398
1399         No tests. No change in behavior.
1400
1401         * bindings/scripts/CodeGenerator.pm:
1402         (ShouldCheckEnums):
1403         (GenerateCompileTimeCheckForEnumsIfNeeded):
1404         * bindings/scripts/CodeGeneratorJS.pm:
1405         (GenerateHeader):
1406         (GenerateImplementation):
1407         (NativeToJSValue):
1408         * bindings/scripts/CodeGeneratorV8.pm:
1409         (GenerateSingleBatchedAttribute):
1410         (GenerateFunctionCallString):
1411         (NativeToJSValue):
1412
1413         * bindings/scripts/test/TestObj.idl:
1414         * bindings/scripts/test/TestTypedArray.idl:
1415
1416         * bindings/scripts/test/JS/JSTestInterface.cpp:
1417         (WebCore):
1418         * bindings/scripts/test/JS/JSTestObj.cpp:
1419         (WebCore):
1420         * bindings/scripts/test/V8/V8TestInterface.cpp:
1421         (WebCore):
1422         * bindings/scripts/test/V8/V8TestObj.cpp:
1423         (WebCore):
1424
1425         * css/WebKitCSSFilterValue.idl:
1426         * css/WebKitCSSTransformValue.idl:
1427         * dom/DOMCoreException.idl:
1428         * dom/Document.idl:
1429         * dom/EventException.idl:
1430         * dom/RangeException.idl:
1431         * fileapi/FileException.idl:
1432         * fileapi/OperationNotAllowedException.idl:
1433         * html/HTMLFormElement.idl:
1434         * html/canvas/Float32Array.idl:
1435         * html/canvas/Float64Array.idl:
1436         * html/canvas/Int16Array.idl:
1437         * html/canvas/Int32Array.idl:
1438         * html/canvas/Int8Array.idl:
1439         * html/canvas/OESStandardDerivatives.idl:
1440         * html/canvas/OESVertexArrayObject.idl:
1441         * html/canvas/Uint16Array.idl:
1442         * html/canvas/Uint32Array.idl:
1443         * html/canvas/Uint8Array.idl:
1444         * html/canvas/Uint8ClampedArray.idl:
1445         * html/canvas/WebGLCompressedTextures.idl:
1446         * html/canvas/WebGLDebugRendererInfo.idl:
1447         * html/canvas/WebGLRenderingContext.idl:
1448         * inspector/JavaScriptCallFrame.idl:
1449         * loader/appcache/DOMApplicationCache.idl:
1450         * page/Console.idl:
1451         * page/DOMWindow.idl:
1452         * page/Location.idl:
1453         * storage/IDBCursor.idl:
1454         * storage/IDBDatabaseException.idl:
1455         * storage/IDBObjectStore.idl:
1456         * storage/SQLException.idl:
1457         * svg/SVGComponentTransferFunctionElement.idl:
1458         * svg/SVGException.idl:
1459         * svg/SVGFEBlendElement.idl:
1460         * svg/SVGFEColorMatrixElement.idl:
1461         * svg/SVGFECompositeElement.idl:
1462         * svg/SVGFEConvolveMatrixElement.idl:
1463         * svg/SVGFEDisplacementMapElement.idl:
1464         * svg/SVGFEMorphologyElement.idl:
1465         * svg/SVGFETurbulenceElement.idl:
1466         * svg/SVGGradientElement.idl:
1467         * xml/XMLHttpRequestException.idl:
1468         * xml/XPathException.idl:
1469
1470 2012-02-06  James Robinson  <jamesr@chromium.org>
1471
1472         [chromium] canvas demo is slow due to unnecessary resource cleanups
1473         https://bugs.webkit.org/show_bug.cgi?id=77135
1474
1475         Reviewed by Kenneth Russell.
1476
1477         This defers dropping a ManagedTexture until it is evicted by the manager, the layer is destroyed, the
1478         TextureManager is destroyed, or the layer is added to a CCLayerTreeHost that has a different texture manager. In
1479         particular, removing a layer from a CCLayerTreeHost and then adding it back to the same host does not drop any
1480         ManagedTextures unless the manager has to evict it for other reasons. This provides a big speedup on sites that
1481         rebuild the compositing tree frequently.
1482
1483         New unit test added for ManagedTexture / TextureManager interaction.
1484
1485         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
1486         (WebCore::Canvas2DLayerChromium::setLayerTreeHost):
1487         (WebCore::Canvas2DLayerChromium::setTextureManager):
1488         * platform/graphics/chromium/Canvas2DLayerChromium.h:
1489         (Canvas2DLayerChromium):
1490         * platform/graphics/chromium/LayerChromium.cpp:
1491         (WebCore::LayerChromium::setLayerTreeHost):
1492         * platform/graphics/chromium/LayerChromium.h:
1493         (LayerChromium):
1494         * platform/graphics/chromium/ManagedTexture.cpp:
1495         (WebCore::ManagedTexture::setTextureManager):
1496         (WebCore):
1497         (WebCore::ManagedTexture::steal):
1498         (WebCore::ManagedTexture::clear):
1499         * platform/graphics/chromium/ManagedTexture.h:
1500         (ManagedTexture):
1501         * platform/graphics/chromium/RenderSurfaceChromium.h:
1502         (RenderSurfaceChromium):
1503         * platform/graphics/chromium/TiledLayerChromium.cpp:
1504         (WebCore::TiledLayerChromium::setLayerTreeHost):
1505         (WebCore):
1506         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
1507         * platform/graphics/chromium/TiledLayerChromium.h:
1508
1509 2012-02-06  Kentaro Hara  <haraken@chromium.org>
1510
1511         Unreviewed, rolling out r106883.
1512         http://trac.webkit.org/changeset/106883
1513         https://bugs.webkit.org/show_bug.cgi?id=77852
1514
1515         build failure around Chromium V8 bindings
1516
1517         * bindings/scripts/CodeGenerator.pm:
1518         (ShouldCheckEnums):
1519         (GenerateCompileTimeCheckForEnumsIfNeeded):
1520         * bindings/scripts/CodeGeneratorJS.pm:
1521         (GenerateHeader):
1522         (GenerateImplementation):
1523         (NativeToJSValue):
1524         * bindings/scripts/CodeGeneratorV8.pm:
1525         (GenerateSingleBatchedAttribute):
1526         (GenerateFunctionCallString):
1527         (NativeToJSValue):
1528         * bindings/scripts/test/JS/JSTestInterface.cpp:
1529         (WebCore):
1530         * bindings/scripts/test/JS/JSTestObj.cpp:
1531         (WebCore):
1532         * bindings/scripts/test/TestObj.idl:
1533         * bindings/scripts/test/TestTypedArray.idl:
1534         * bindings/scripts/test/V8/V8TestInterface.cpp:
1535         (WebCore):
1536         * bindings/scripts/test/V8/V8TestObj.cpp:
1537         (WebCore):
1538         * css/WebKitCSSFilterValue.idl:
1539         * css/WebKitCSSTransformValue.idl:
1540         * dom/DOMCoreException.idl:
1541         * dom/Document.idl:
1542         * dom/EventException.idl:
1543         * dom/RangeException.idl:
1544         * fileapi/FileException.idl:
1545         * fileapi/OperationNotAllowedException.idl:
1546         * html/HTMLFormElement.idl:
1547         * html/canvas/Float32Array.idl:
1548         * html/canvas/Float64Array.idl:
1549         * html/canvas/Int16Array.idl:
1550         * html/canvas/Int32Array.idl:
1551         * html/canvas/Int8Array.idl:
1552         * html/canvas/OESStandardDerivatives.idl:
1553         * html/canvas/OESVertexArrayObject.idl:
1554         * html/canvas/Uint16Array.idl:
1555         * html/canvas/Uint32Array.idl:
1556         * html/canvas/Uint8Array.idl:
1557         * html/canvas/Uint8ClampedArray.idl:
1558         * html/canvas/WebGLCompressedTextures.idl:
1559         * html/canvas/WebGLDebugRendererInfo.idl:
1560         * html/canvas/WebGLRenderingContext.idl:
1561         * inspector/JavaScriptCallFrame.idl:
1562         * loader/appcache/DOMApplicationCache.idl:
1563         * page/Console.idl:
1564         * page/DOMWindow.idl:
1565         * page/Location.idl:
1566         * storage/IDBCursor.idl:
1567         * storage/IDBDatabaseException.idl:
1568         * storage/IDBObjectStore.idl:
1569         * storage/SQLException.idl:
1570         * svg/SVGComponentTransferFunctionElement.idl:
1571         * svg/SVGException.idl:
1572         * svg/SVGFEBlendElement.idl:
1573         * svg/SVGFEColorMatrixElement.idl:
1574         * svg/SVGFECompositeElement.idl:
1575         * svg/SVGFEConvolveMatrixElement.idl:
1576         * svg/SVGFEDisplacementMapElement.idl:
1577         * svg/SVGFEMorphologyElement.idl:
1578         * svg/SVGFETurbulenceElement.idl:
1579         * svg/SVGGradientElement.idl:
1580         * xml/XMLHttpRequestException.idl:
1581         * xml/XPathException.idl:
1582
1583 2012-02-06  Yongsheng Zhu  <yongsheng.zhu@intel.com>
1584
1585         WebGL must allocate smaller drawing buffer when the allocation fails. 
1586         https://bugs.webkit.org/show_bug.cgi?id=76654
1587
1588         Reviewed by Kenneth Russell.
1589
1590         Test: fast/canvas/webgl/drawingbuffer-test.html
1591
1592         * platform/graphics/gpu/DrawingBuffer.cpp:
1593         (WebCore):
1594         (WebCore::DrawingBuffer::create):
1595         (WebCore::DrawingBuffer::reset):
1596
1597 2012-02-06  Kentaro Hara  <haraken@chromium.org>
1598
1599         Unreviewed. Rebaselined run-bindings-tests results.
1600
1601         * bindings/scripts/test/V8/V8TestObj.cpp:
1602         (WebCore::TestObjInternal::optionsObjectCallback):
1603
1604 2012-02-06  Levi Weintraub  <leviw@chromium.org>
1605
1606         Correct usage of LayoutUnits in dom, editing, page, accessibility, inspector, and loader
1607         https://bugs.webkit.org/show_bug.cgi?id=77891
1608
1609         Reviewed by Darin Adler.
1610
1611         Updating the usage of LayoutUnits in the dom, editing, page, accessibility, inspector, and loader
1612         directories to properly use LayoutUnits vs ints.
1613
1614         No new tests. No new behavior.
1615
1616         * accessibility/AccessibilityObject.h:
1617         (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
1618         (WebCore::AccessibilityObject::doAXBoundsForRange):
1619         * accessibility/AccessibilityRenderObject.cpp:
1620         (WebCore::AccessibilityRenderObject::isOffScreen):
1621         (WebCore::AccessibilityRenderObject::clickPoint):
1622         (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
1623         (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
1624         (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
1625         * accessibility/AccessibilityRenderObject.h:
1626         (AccessibilityRenderObject):
1627         * accessibility/AccessibilitySlider.cpp:
1628         (WebCore::AccessibilitySlider::elementAccessibilityHitTest):
1629         * accessibility/AccessibilitySlider.h:
1630         (AccessibilitySlider):
1631         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1632         (-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
1633         * css/CSSComputedStyleDeclaration.cpp:
1634         (WebCore::computedTransform):
1635         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1636         * dom/Clipboard.h:
1637         (WebCore::Clipboard::dragLocation):
1638         (Clipboard):
1639         * dom/DocumentMarkerController.cpp:
1640         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
1641         * dom/DocumentMarkerController.h:
1642         * dom/Element.cpp:
1643         (WebCore::Element::screenRect):
1644         * dom/Element.h:
1645         (Element):
1646         * editing/Editor.cpp:
1647         (WebCore::Editor::rangeForPoint):
1648         (WebCore::Editor::firstRectForRange):
1649         * editing/RenderedPosition.cpp:
1650         (WebCore::RenderedPosition::absoluteRect):
1651         * editing/RenderedPosition.h:
1652         (WebCore::RenderedPosition::absoluteRect):
1653         (RenderedPosition):
1654         * editing/VisiblePosition.h:
1655         (VisiblePosition):
1656         * inspector/DOMNodeHighlighter.cpp:
1657         * loader/SubframeLoader.cpp:
1658         (WebCore::SubframeLoader::createJavaAppletWidget):
1659         * loader/SubframeLoader.h:
1660         (SubframeLoader):
1661         * page/EventHandler.cpp:
1662         (WebCore::EventHandler::handleMousePressEvent):
1663         * page/Frame.cpp:
1664         (WebCore::Frame::nodeImage):
1665         * page/win/FrameCGWin.cpp:
1666         (WebCore::Frame::nodeImage):
1667
1668 2012-02-05  Kentaro Hara  <haraken@chromium.org>
1669
1670         Rename [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
1671         [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs
1672         https://bugs.webkit.org/show_bug.cgi?id=77852
1673
1674         Reviewed by Adam Barth.
1675
1676         This patch renames [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
1677         [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs for clarification.
1678
1679         [DontCheckEnums] => [DoNotCheckConstants]  (This IDL inserts assertions to check if a
1680         constant value is equal to the expected constant value)
1681         [ReturnsNew] => [ReturnNewObject] (For clarification)
1682         [DoNotCheckDomainSecurityOnGet] => [DoNotCheckDomainSecurityOnGetter] (For naming consistency
1683         with other [*Getter] IDLs)
1684         [DoNotCheckDomainSecurityOnSet] => [DoNotCheckDomainSecurityOnSetter] (For naming consistency
1685         with other [*Setter] IDLs)
1686         [ImplementationFunction=] => [ImplementedAs=] (For clarification. This IDL specifies a method
1687         name in implementation)
1688
1689         No tests. No change in behavior.
1690
1691         * bindings/scripts/CodeGenerator.pm:
1692         (ShouldCheckEnums):
1693         (GenerateCompileTimeCheckForEnumsIfNeeded):
1694         * bindings/scripts/CodeGeneratorJS.pm:
1695         (GenerateHeader):
1696         (GenerateImplementation):
1697         (NativeToJSValue):
1698         * bindings/scripts/CodeGeneratorV8.pm:
1699         (GenerateSingleBatchedAttribute):
1700         (GenerateFunctionCallString):
1701         (NativeToJSValue):
1702
1703         * bindings/scripts/test/TestObj.idl:
1704         * bindings/scripts/test/TestTypedArray.idl:
1705
1706         * bindings/scripts/test/JS/JSTestInterface.cpp: Updated run-bindings-tests results.
1707         (WebCore):
1708         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
1709         (WebCore):
1710         * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
1711         (WebCore):
1712         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
1713         (WebCore):
1714
1715         * bindings/scripts/test/TestObj.idl:
1716         * bindings/scripts/test/TestTypedArray.idl:
1717         * css/WebKitCSSFilterValue.idl:
1718         * css/WebKitCSSTransformValue.idl:
1719         * dom/DOMCoreException.idl:
1720         * dom/Document.idl:
1721         * dom/EventException.idl:
1722         * dom/RangeException.idl:
1723         * fileapi/FileException.idl:
1724         * fileapi/OperationNotAllowedException.idl:
1725         * html/HTMLFormElement.idl:
1726         * html/canvas/Float32Array.idl:
1727         * html/canvas/Float64Array.idl:
1728         * html/canvas/Int16Array.idl:
1729         * html/canvas/Int32Array.idl:
1730         * html/canvas/Int8Array.idl:
1731         * html/canvas/OESStandardDerivatives.idl:
1732         * html/canvas/OESVertexArrayObject.idl:
1733         * html/canvas/Uint16Array.idl:
1734         * html/canvas/Uint32Array.idl:
1735         * html/canvas/Uint8Array.idl:
1736         * html/canvas/Uint8ClampedArray.idl:
1737         * html/canvas/WebGLCompressedTextures.idl:
1738         * html/canvas/WebGLDebugRendererInfo.idl:
1739         * html/canvas/WebGLRenderingContext.idl:
1740         * inspector/JavaScriptCallFrame.idl:
1741         * loader/appcache/DOMApplicationCache.idl:
1742         * page/Console.idl:
1743         * page/DOMWindow.idl:
1744         * page/Location.idl:
1745         * storage/IDBCursor.idl:
1746         * storage/IDBDatabaseException.idl:
1747         * storage/IDBObjectStore.idl:
1748         * storage/SQLException.idl:
1749         * svg/SVGComponentTransferFunctionElement.idl:
1750         * svg/SVGException.idl:
1751         * svg/SVGFEBlendElement.idl:
1752         * svg/SVGFEColorMatrixElement.idl:
1753         * svg/SVGFECompositeElement.idl:
1754         * svg/SVGFEConvolveMatrixElement.idl:
1755         * svg/SVGFEDisplacementMapElement.idl:
1756         * svg/SVGFEMorphologyElement.idl:
1757         * svg/SVGFETurbulenceElement.idl:
1758         * svg/SVGGradientElement.idl:
1759         * xml/XMLHttpRequestException.idl:
1760
1761 2012-02-06  Stephen Chenney  <schenney@chromium.org>
1762
1763         RenderSVGShape::strokeContains will fail for some strokes
1764         https://bugs.webkit.org/show_bug.cgi?id=76931
1765
1766         Reviewed by Darin Adler.
1767
1768         Adding support for rounded zero-length endcaps for SVG path hit
1769         testing.
1770
1771         Tests: svg/hittest/zero-length-butt-cap-path.xhtml
1772                svg/hittest/zero-length-round-cap-path.xhtml
1773                svg/hittest/zero-length-square-cap-path.xhtml
1774
1775         * rendering/svg/RenderSVGShape.cpp:
1776         (WebCore::RenderSVGShape::strokeContains):
1777
1778 2012-02-06  Gregg Tavares  <gman@google.com>
1779
1780         Add webGLErrorsToConsoleEnabled Settings flag
1781         https://bugs.webkit.org/show_bug.cgi?id=77696
1782
1783         Reviewed by Kenneth Russell.
1784
1785         No new tests as there is no change in behavior.
1786
1787         * html/canvas/WebGLRenderingContext.cpp:
1788         (WebCore):
1789         (WebCore::WebGLRenderingContext::setupFlags):
1790         * page/Settings.cpp:
1791         (WebCore::Settings::Settings):
1792         * page/Settings.h:
1793         (Settings):
1794         (WebCore::Settings::webGLErrorsToConsoleEnabled):
1795
1796 2012-02-06  Emil A Eklund  <eae@chromium.org>
1797
1798         Convert PopupMenuClient::clientPadding over to new layout abstraction
1799         https://bugs.webkit.org/show_bug.cgi?id=77798
1800
1801         Reviewed by Eric Seidel.
1802
1803         Change PopupMenuClient and all classes inheriting from it to use the new
1804         layout types for padding.
1805
1806         No new tests.
1807
1808         * platform/PopupMenuClient.h:
1809         (PopupMenuClient):
1810         * rendering/RenderMenuList.h:
1811         * rendering/RenderTextControlSingleLine.cpp:
1812         (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
1813         (WebCore::RenderTextControlSingleLine::clientPaddingRight):
1814         * rendering/RenderTextControlSingleLine.h:
1815
1816 2012-02-06  Philip Rogers  <pdr@google.com>
1817
1818         Fix color animations by value
1819         https://bugs.webkit.org/show_bug.cgi?id=77812
1820
1821         Reviewed by Darin Adler.
1822
1823         Test: svg/animations/animate-color-fill-from-by.html
1824
1825         * svg/SVGAnimatedColor.cpp:
1826         (WebCore::SVGAnimatedColorAnimator::calculateFromAndByValues):
1827
1828 2012-02-03  Jer Noble  <jer.noble@apple.com>
1829
1830         REGRESSION (r104303): Clicking inline video controls gives the video a focus ring
1831         https://bugs.webkit.org/show_bug.cgi?id=77288
1832
1833         Reviewed by Darin Adler.
1834
1835         Test: media/video-mouse-focus.html
1836
1837         Do not allow media elements to be focused by mouse click by overriding isMouseFocusable
1838         and returning false.
1839
1840         * html/HTMLMediaElement.cpp:
1841         (WebCore::HTMLMediaElement::isMouseFocusable):
1842         * html/HTMLMediaElement.h:
1843
1844 2012-02-06  Anders Carlsson  <andersca@apple.com>
1845
1846         Overlay scrollbars flash when window is simply activated
1847         https://bugs.webkit.org/show_bug.cgi?id=77911
1848         <rdar://problem/10211995>
1849
1850         Reviewed by Kenneth Russell.
1851
1852         Add a new member function, FocusController::setContainingWindowIsVisible, and move the code
1853         that calls ScrollableArea::contentAreaDidShow/ScrollableArea::contentAreaDidHide there, since
1854         we only want to flash scrollers when the window becomes visible.
1855
1856         * WebCore.exp.in:
1857         * page/FocusController.cpp:
1858         (WebCore::FocusController::FocusController):
1859         (WebCore::FocusController::setActive):
1860         (WebCore::FocusController::setContainingWindowIsVisible):
1861         (WebCore):
1862         * page/FocusController.h:
1863         (FocusController):
1864         (WebCore::FocusController::containingWindowIsVisible):
1865
1866         * platform/mac/ScrollAnimatorMac.mm:
1867         (-[WebScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
1868         Call ScrollAnimatorMac::contentAreaWillPaint here, since that will trigger AppKit to flash the scrollers.
1869
1870 2012-02-06  Greg Simon  <gregsimon@chromium.org>
1871
1872         postMessage leaks MemoryEvent object
1873         https://bugs.webkit.org/show_bug.cgi?id=77893
1874
1875         Reviewed by Adam Barth.
1876
1877         Changed from PassRefPtr().leakRef() to RefPtr.get() when 
1878         calling into FrameLoaderClient to stop +1 extra ref.
1879
1880         * page/DOMWindow.cpp:
1881         (WebCore::DOMWindow::postMessageTimerFired):
1882
1883 2012-02-06  Ehsan Akhgari  <ehsan.akhgari@gmail.com>
1884
1885         WebGL conformance test misc/functions-returning-strings.html fails
1886         https://bugs.webkit.org/show_bug.cgi?id=77149
1887
1888         Make sure that WebGL methods returning strings don't return null when
1889         they run successfully.
1890
1891         Reviewed by Kenneth Russell.
1892
1893         Test: fast/canvas/webgl/functions-returning-strings.html
1894
1895         * html/canvas/WebGLRenderingContext.cpp:
1896         (WebCore):
1897         (WebCore::WebGLRenderingContext::getProgramInfoLog):
1898         (WebCore::WebGLRenderingContext::getShaderInfoLog):
1899         (WebCore::WebGLRenderingContext::getShaderSource):
1900         (WebCore::WebGLRenderingContext::ensureNotNull):
1901         * html/canvas/WebGLRenderingContext.h:
1902         (WebGLRenderingContext):
1903
1904 2012-02-06  Enrica Casucci  <enrica@apple.com>
1905
1906         Refactor Mac platform implementation of the Pasteboard class.
1907         https://bugs.webkit.org/show_bug.cgi?id=77567
1908         
1909         The goal of this change is to remove the majority of the methods in
1910         the class interface that are Mac specific.
1911         writeSelectionForTypes has been left to support OS X services.
1912         Some of the methods have been turned into static functions.
1913         The method asURL was being used only by the DragData class and its
1914         implementation has been moved there.
1915         This is a first step in the direction of removing NSPasteboard access from
1916         the WebProcess for WebKit2 (https://bugs.webkit.org/show_bug.cgi?id=77259)
1917         leaving the WebKit1 behavior unchanged.
1918
1919         Reviewed by Alexey Proskuryakov.
1920
1921         No new tests. No changes in behavior.
1922
1923         * platform/Pasteboard.h: Removed most of the Mac specific methods.
1924         * platform/mac/ClipboardMac.mm:
1925         (WebCore::ClipboardMac::writeRange):
1926         (WebCore::ClipboardMac::writeURL):
1927         * platform/mac/DragDataMac.mm:
1928         (WebCore::DragData::asURL): Moved code from PasteboardMac.mm. Removed FIXME
1929         because we only want to handle the case of single file, otherwise the user
1930         doesn't know which of the files has been chosen.
1931         * platform/mac/PasteboardMac.mm:
1932         (WebCore::writeURLForTypes):
1933         (WebCore::Pasteboard::writeURL):
1934         (WebCore::writeFileWrapperAsRTFDAttachment): Now a static function.
1935         (WebCore::Pasteboard::writeImage):
1936         (WebCore::documentFragmentWithImageResource): Ditto.
1937         (WebCore::documentFragmentWithRTF): Ditto.
1938         (WebCore::Pasteboard::documentFragment):
1939
1940 2012-02-06  James Robinson  <jamesr@chromium.org>
1941
1942         [chromium] Drop tiles completely outside of layer bounds when resizing to a smaller size
1943         https://bugs.webkit.org/show_bug.cgi?id=77910
1944
1945         Reviewed by Kenneth Russell.
1946
1947         When resizing a tiled layer to a smaller size, drop all tiles that lie completely outside the new layer bounds.
1948         This avoids attempting to access out-of-bounds tiles when iterating over all tiles in the tiler, which triggers
1949         ASSERT()s, as well as saves some memory.
1950
1951         New unit test added to TiledLayerChromiumTest.
1952
1953         * platform/graphics/chromium/TiledLayerChromium.cpp:
1954         (WebCore::TiledLayerChromium::invalidateRect):
1955         * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
1956         (WebCore::CCLayerTilingData::setBounds):
1957
1958 2012-02-06  Chris Rogers  <crogers@google.com>
1959
1960         zvmul incorrectly multiplies complex arrays on Windows.
1961         https://bugs.webkit.org/show_bug.cgi?id=77900
1962
1963         Reviewed by Kenneth Russell.
1964
1965         * platform/audio/VectorMath.cpp:
1966         (WebCore::VectorMath::zvmul):
1967
1968 2012-02-06  Andreas Kling  <awesomekling@apple.com>
1969
1970         REGRESSION(r106756): 10% performance hit on DOM/Template.
1971         <http://webkit.org/b/77831>
1972
1973         Reviewed by Ryosuke Niwa.
1974
1975         Let the StylePropertySet used for element attribute style have the element as its parent.
1976         This is accomplished by adding an m_parentIsElement bit to StylePropertySet and sharing
1977         some of the internal logic with inline styles.
1978
1979         In the end, this means that CSSParser will now pick up the document's CSSValuePool when
1980         parsing properties for attribute styles, which fixes the perf regression from r106756.
1981
1982         * css/StylePropertySet.cpp:
1983         (WebCore::StylePropertySet::StylePropertySet):
1984         (WebCore::StylePropertySet::contextStyleSheet):
1985
1986             Find contextStyleSheet via the parentElement() when there is one.
1987
1988         (WebCore::StylePropertySet::setNeedsStyleRecalc):
1989
1990             Always set FullStyleChange for attribute style mutations. We can probably use the
1991             same lighter invalidation as inline styles, but that's a topic for another patch.
1992
1993         * css/StylePropertySet.h:
1994         (WebCore::StylePropertySet::createInline):
1995         (WebCore::StylePropertySet::createAttributeStyle):
1996         (WebCore::StylePropertySet::parentRuleInternal):
1997         (WebCore::StylePropertySet::clearParentRule):
1998         (StylePropertySet):
1999         (WebCore::StylePropertySet::parentElement):
2000         (WebCore::StylePropertySet::clearParentElement):
2001
2002             Added m_parentIsElement bit and update assertions as appropriate to not just
2003             cover the inline style case. Added a createAttributeStyle() helper to create
2004             a StylePropertySet for use as Element::attributeStyle().
2005
2006         * dom/StyledElement.h:
2007         * dom/ElementAttributeData.h:
2008         * dom/ElementAttributeData.cpp:
2009         (WebCore::ElementAttributeData::ensureAttributeStyle):
2010
2011             Use StylePropertySet::createAttributeStyle().
2012
2013         * dom/StyledElement.cpp:
2014         (WebCore::StyledElement::removeCSSProperties):
2015         (WebCore::StyledElement::addCSSProperty):
2016         (WebCore::StyledElement::addCSSImageProperty):
2017
2018             Remove setNeedsStyleRecalc() calls since that is now handled automatically by
2019             StylePropertySet's mutation methods.
2020
2021 2012-02-06  Kentaro Hara  <haraken@chromium.org>
2022
2023         In AppleWebKit, stop rebuilding IDLs that need not to be rebuilt
2024         https://bugs.webkit.org/show_bug.cgi?id=77510
2025
2026         Reviewed by Adam Barth.
2027
2028         Currently, if any IDL file is updated, all IDL files are rebuilt.
2029         This patch stops rebuilding IDL files which are not modified nor
2030         whose supplemental dependencies are not changed.
2031
2032         The new build flow is as follows:
2033
2034             supplemental.dep : $(ALL_IDLS)
2035                 perl resolve-supplemental.pl ...
2036
2037             %.idl-needs-rebuild : %.idl supplemental.dep
2038                 perl update-idl-needs-rebuild.pl ...
2039
2040             JS%.cpp : %.idl-needs-rebuild
2041                 perl generate-bindings.pl ...
2042
2043         resolve-supplemental.pl generates the following supplemental.dep.
2044         The number in () is the last access timestamp of the file.
2045
2046             A.idl(1200)
2047             B.idl(1000) B-supplemental1.idl(800) B-supplemental2.idl(1200)
2048             C.idl(1000)
2049
2050         update-idl-needs-rebuild.pl for X.idl touches X.idl-needs-rebuild,
2051         if X.idl-needs-rebuild is older than X.idl or the IDL files which are
2052         supplementing X.idl. For example, if the timestamps of A.idl-needs-rebuild,
2053         B.idl-needs-rebuild and C.idl-needs-rebuild are all 1000, then A.idl-needs-rebuild
2054         and B.idl-needs-rebuild will be touched.
2055
2056         Even if no IDL files are modified, update-idl-needs-rebuild.pl can run for all IDL files,
2057         but generate-bindings.pl won't run. If any IDL file is updated, resolve-supplemental.pl
2058         will run once, update-idl-needs-rebuild.pl will run for all IDL files, and
2059         generate-bindings.pl will run for the IDL files which are modified or whose
2060         dependencies are changed.
2061
2062         No tests. I manually confirmed the followings:
2063         - Touch Element.idl, then only Element.idl is rebuilt
2064         - Touch DOMWindow.idl, then only DOMWindow.idl is rebuilt
2065         - Touch DOMWindowWebAudio.idl, then only DOMWindow.idl and DOMWindowWebAudio.idl are rebuilt
2066
2067         * DerivedSources.make: Modified the build flow as described above.
2068         * bindings/scripts/generate-bindings.pl: Modified to read an IDL file path from .idl-needs-rebuild.
2069         * bindings/scripts/update-idl-needs-rebuild.pl: Added. Touches X.idl-needs-rebuild if
2070         the X.idl-needs-rebuild is older than X.idl or the IDL files which are supplementing X.idl.
2071         (touch):
2072
2073 2012-02-06  Wei James  <james.wei@intel.com>
2074
2075         AudioBus need to support stereo->mono down mix in copyFrom sumFrom etc.
2076         https://bugs.webkit.org/show_bug.cgi?id=77609
2077
2078         Reviewed by Kenneth Russell.
2079
2080         Test: webaudio/stereo2mono-down-mixing.html
2081
2082         * platform/audio/AudioBus.cpp:
2083         (WebCore):
2084         (WebCore::AudioBus::copyFrom):
2085         (WebCore::AudioBus::sumFrom):
2086
2087 2012-02-06  Cris Neckar  <cdn@chromium.org>
2088
2089         Add RefPtrs for parent and sibling counter nodes
2090         https://bugs.webkit.org/show_bug.cgi?id=75212
2091
2092         Reviewed by Adam Barth.
2093
2094         Test: fast/css/counters/reparent-table-children-with-counters-crash.html
2095
2096         * rendering/RenderCounter.cpp:
2097         (WebCore::findPlaceForCounter):
2098         (WebCore::makeCounterNode):
2099         (WebCore::updateCounters):
2100
2101 2012-02-06  Kalev Lember  <kalevlember@gmail.com>
2102
2103         [GTK] Add missing pango include dir to fix build
2104         https://bugs.webkit.org/show_bug.cgi?id=77832
2105
2106         Reviewed by Martin Robinson.
2107
2108         * GNUmakefile.am: Added $(PANGO_CFLAGS) to libWebCore_la_CPPFLAGS.
2109
2110 2012-02-06  Jochen Eisinger  <jochen@chromium.org>
2111
2112         Before accessing a frame's script controller in V8 bindings, first check that the frame actually exists
2113         https://bugs.webkit.org/show_bug.cgi?id=77370
2114
2115         Reviewed by Adam Barth.
2116
2117         I don't have a working reproduction of the crash yet. As soon as I have
2118         one,  I will add new layout tests.
2119
2120         * bindings/v8/PageScriptDebugServer.cpp:
2121         (WebCore::PageScriptDebugServer::addListener):
2122         * bindings/v8/ScheduledAction.cpp:
2123         (WebCore::ScheduledAction::execute):
2124         * bindings/v8/ScriptCachedFrameData.cpp:
2125         (WebCore::ScriptCachedFrameData::restore):
2126         * page/DOMTimer.cpp:
2127         (WebCore::DOMTimer::DOMTimer): remove temporary debug code
2128
2129 2012-02-06  James Robinson  <jamesr@chromium.org>
2130
2131         Support detaching TextureManager from ManagedTexture
2132         https://bugs.webkit.org/show_bug.cgi?id=77655
2133
2134         Reviewed by Kenneth Russell.
2135         Initial patch by Alok Priyadarshi.
2136
2137         TextureManager now holds references to the textures it manages.
2138         This allows TextureManager to inform managed textures when it gets deleted
2139         so that the texture that outlive the TextureManager can handle the situation gracefully.
2140
2141         Unit test in TextureManagerTest.cpp
2142
2143         * platform/graphics/chromium/ManagedTexture.cpp:
2144         (WebCore::ManagedTexture::ManagedTexture):
2145         (WebCore::ManagedTexture::~ManagedTexture):
2146         (WebCore):
2147         (WebCore::ManagedTexture::managerWillDie):
2148         (WebCore::ManagedTexture::isValid):
2149         (WebCore::ManagedTexture::reserve):
2150         (WebCore::ManagedTexture::unreserve):
2151         (WebCore::ManagedTexture::steal):
2152         (WebCore::ManagedTexture::reset):
2153         * platform/graphics/chromium/ManagedTexture.h:
2154         (WebCore::ManagedTexture::manager):
2155         (ManagedTexture):
2156         (WebCore::ManagedTexture::isReserved):
2157         * platform/graphics/chromium/TextureManager.cpp:
2158         (WebCore::TextureManager::~TextureManager):
2159         (WebCore):
2160         (WebCore::TextureManager::setPreferredMemoryLimitBytes):
2161         (WebCore::TextureManager::registerTexture):
2162         (WebCore::TextureManager::unregisterTexture):
2163         * platform/graphics/chromium/TextureManager.h:
2164         (WebCore):
2165         (TextureManager):
2166
2167 2012-02-06  Anders Carlsson  <andersca@apple.com>
2168
2169         Wheel event handler count not updated when adding handlers to the window
2170         https://bugs.webkit.org/show_bug.cgi?id=77895
2171
2172         Reviewed by Dan Bernstein.
2173
2174         Test: fast/events/wheelevent-handler-count.html
2175
2176         * page/DOMWindow.cpp:
2177         (WebCore::DOMWindow::addEventListener):
2178         (WebCore::DOMWindow::removeEventListener):
2179         Update the wheel event count.
2180
2181         * testing/Internals.cpp:
2182         (WebCore::Internals::wheelEventHandlerCount):
2183         * testing/Internals.h:
2184         * testing/Internals.idl:
2185         Add wheelEventHandlerCount to window.internals.
2186
2187 2012-02-06  Matthew Delaney  <mdelaney@apple.com>
2188
2189         toDataURL() uses stale data after putImageData()
2190         https://bugs.webkit.org/show_bug.cgi?id=65767
2191
2192         This patch fixes the issue we've encountered of getting back
2193         stale copies of the CGContext of accelerated ImageBuffers who have seen
2194         putImageData calls but have not been drawn into via the CG API.
2195         This issue is fixed by modifying the way we implement putImageData
2196         in ImageBufferCG to draw the bits wrapped in a CGImage while the CGContext
2197         is in a state where the data will effectively be copied (as is needed for
2198         implementing putImageData) instead of directly modifying the bits of the IOSurface.
2199
2200         Reviewed by Chris Marrin.
2201
2202         Test: fast/canvas/check-stale-putImageData, pixel test to check that the canvas is in fact painted.
2203
2204         * platform/graphics/cg/ImageBufferCG.cpp: Implement new way of putting image data.
2205         * platform/graphics/ImageBuffer.h: Merged two previously separate put data calls
2206             into a single and more sensibly named 'putByteArray', since that's what it does!
2207
2208         * WebCore.exp.in: Added new WKSI call for use in ImageBufferCG.cpp
2209         * platform/mac/WebCoreSystemInterface.h:
2210         * platform/mac/WebCoreSystemInterface.mm:
2211
2212         Using new method name.
2213         * html/canvas/CanvasRenderingContext2D.cpp:
2214         * platform/graphics/ImageBuffer.cpp:
2215         * platform/graphics/ShadowBlur.cpp:        
2216         * platform/graphics/filters/FEColorMatrix.cpp:
2217         * platform/graphics/filters/FEDropShadow.cpp:
2218         * platform/graphics/filters/FilterEffect.cpp:
2219
2220         Updated other ports' ImageBuffers to use new method.
2221         * platform/graphics/cairo/ImageBufferCairo.cpp:
2222         * platform/graphics/qt/ImageBufferQt.cpp:
2223         * platform/graphics/skia/ImageBufferSkia.cpp:
2224         * platform/graphics/wince/ImageBufferWinCE.cpp:
2225         * platform/graphics/wx/ImageBufferWx.cpp:
2226
2227 2012-02-06  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2228
2229         Provide more attribute methods in Element
2230         https://bugs.webkit.org/show_bug.cgi?id=77800
2231
2232         Reviewed by Ryosuke Niwa.
2233
2234         Reduce the clients of NamedNodeMap. This will make easier to change the
2235         implementation of our attribute storage. The clients now use Element methods
2236         that expose Attribute* accessors.
2237
2238         Instead of checking the existence of NamedNodeMap, clients can call
2239         hasAttributes() or hasAttributesWithoutUpdate() (that skips updating invalid
2240         style or animation svg attributes).
2241
2242         If there are attributes, they can be accessed by index via attributeCount() /
2243         attributeItem(), as well as by QualifiedName. Those accessors assume there are an
2244         attribute storage.
2245
2246         * css/SelectorChecker.cpp:
2247         (WebCore::anyAttributeMatches):
2248         (WebCore::SelectorChecker::checkOneSelector):
2249         * css/SelectorChecker.h:
2250         (WebCore::SelectorChecker::checkExactAttribute):
2251         * dom/DatasetDOMStringMap.cpp:
2252         (WebCore::DatasetDOMStringMap::getNames):
2253         (WebCore::DatasetDOMStringMap::item):
2254         (WebCore::DatasetDOMStringMap::contains):
2255         * dom/Document.cpp:
2256         (WebCore::Document::importNode): use setAttributesFromElement() instead of manually copying.
2257         * dom/Element.h:
2258         (Element):
2259         (WebCore::Element::hasAttributesWithoutUpdate):
2260         (WebCore):
2261         (WebCore::Element::attributeCount):
2262         (WebCore::Element::attributeItem):
2263         (WebCore::Element::getAttributeItem):
2264         (WebCore::Element::removeAttribute):
2265         * dom/Node.cpp:
2266         (WebCore::Node::isDefaultNamespace):
2267         (WebCore::Node::lookupNamespaceURI):
2268         (WebCore::Node::lookupNamespacePrefix):
2269         (WebCore::Node::compareDocumentPosition):
2270         * editing/ApplyStyleCommand.cpp:
2271         (WebCore::hasNoAttributeOrOnlyStyleAttribute):
2272         (WebCore::isEmptyFontTag):
2273         * editing/EditingStyle.cpp:
2274         (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
2275         * editing/InsertParagraphSeparatorCommand.cpp:
2276         (WebCore::highestVisuallyEquivalentDivBelowRoot):
2277         * editing/MarkupAccumulator.cpp:
2278         (WebCore::MarkupAccumulator::appendElement):
2279         * editing/markup.cpp:
2280         (WebCore::completeURLs):
2281         (WebCore::StyledMarkupAccumulator::appendElement):
2282         * html/HTMLEmbedElement.cpp:
2283         (WebCore::HTMLEmbedElement::parametersForPlugin):
2284         * html/HTMLInputElement.cpp:
2285         (WebCore::HTMLInputElement::updateType):
2286         * html/HTMLObjectElement.cpp:
2287         (WebCore::HTMLObjectElement::parametersForPlugin):
2288         * html/HTMLParamElement.cpp:
2289         (WebCore::HTMLParamElement::isURLAttribute):
2290         * html/parser/HTMLFormattingElementList.cpp:
2291         (WebCore::attributeCountWithoutUpdate):
2292         (WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly):
2293         (WebCore::HTMLFormattingElementList::ensureNoahsArkCondition): Store Attribute*
2294         to avoid looking up the right element again by name.
2295         * inspector/DOMEditor.cpp:
2296         (WebCore::DOMEditor::innerPatchNode):
2297         (WebCore::DOMEditor::createDigest):
2298         * inspector/InspectorDOMAgent.cpp:
2299         (WebCore::InspectorDOMAgent::setAttributesAsText):
2300         (WebCore::InspectorDOMAgent::performSearch):
2301         (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
2302         * page/PageSerializer.cpp:
2303         (WebCore::isCharsetSpecifyingNode):
2304         * svg/SVGStyledElement.cpp:
2305         (WebCore::SVGStyledElement::getPresentationAttribute):
2306         * xml/XPathFunctions.cpp:
2307         (WebCore::XPath::FunLang::evaluate):
2308         * xml/XPathNodeSet.cpp:
2309         (WebCore::XPath::NodeSet::traversalSort):
2310         * xml/XPathStep.cpp:
2311         (WebCore::XPath::Step::nodesInAxis):
2312         * xml/parser/XMLDocumentParserLibxml2.cpp:
2313         (WebCore::XMLDocumentParser::XMLDocumentParser):
2314         * xml/parser/XMLTreeBuilder.cpp:
2315         (WebCore::XMLTreeBuilder::XMLTreeBuilder):
2316
2317 2012-02-06  Joshua Bell  <jsbell@chromium.org>
2318
2319         IndexedDB: Raise exception during add/put call if autoIncrement key insertion will fail
2320         https://bugs.webkit.org/show_bug.cgi?id=77374
2321
2322         If a put request will use a key generator, try inserting a dummy key during the sync
2323         put() call to check if the key insertion will succeed so an exception can be raised
2324         early, rather than deferring to the asynchronous task.
2325
2326         Reviewed by Tony Chang.
2327
2328         Test: storage/indexeddb/keypath-edges.html
2329
2330         * storage/IDBObjectStoreBackendImpl.cpp:
2331         (WebCore::IDBObjectStoreBackendImpl::put):
2332
2333 2012-02-06  Gustavo Noronha Silva  <gns@gnome.org>
2334
2335         Add a null check for the gdkwindow, that will happen if the window
2336         is not mapped.
2337
2338         Reviewed by Martin Robinson.
2339
2340         * platform/gtk/GtkUtilities.cpp:
2341         (WebCore::convertWidgetPointToScreenPoint):
2342
2343 2012-02-06  Eugene Girard  <girard@chromium.org>
2344
2345         IndexedDB createObjectStore should throw if options arg is invalid
2346         Added logic to OptionsObject to determine if an invalid object was created.
2347         Javascript bindings now detect invalid OptionsObject's and throw TypeError when found.
2348         https://bugs.webkit.org/show_bug.cgi?id=58471
2349
2350         Reviewed by Adam Barth.
2351
2352         Test: storage/indexeddb/createObjectStore-bad-options.html
2353
2354         * bindings/scripts/CodeGeneratorV8.pm:
2355         (GenerateParametersCheck):
2356         * bindings/v8/OptionsObject.cpp:
2357         (WebCore::OptionsObject::isObject):
2358         * bindings/v8/OptionsObject.h:
2359
2360 2012-02-06  Sheriff Bot  <webkit.review.bot@gmail.com>
2361
2362         Unreviewed, rolling out r106797 and r106806.
2363         http://trac.webkit.org/changeset/106797
2364         http://trac.webkit.org/changeset/106806
2365         https://bugs.webkit.org/show_bug.cgi?id=77888
2366
2367         The change is still causing some crashes in webaudio/ on the
2368         Chromium bots (Requested by jchaffraix on #webkit).
2369
2370         * Modules/intents/IntentRequest.cpp:
2371         (WebCore::IntentRequest::create):
2372         * bindings/generic/ActiveDOMCallback.cpp:
2373         (WebCore::ActiveDOMCallback::ActiveDOMCallback):
2374         * dom/ActiveDOMObject.cpp:
2375         (WebCore::ActiveDOMObject::ActiveDOMObject):
2376         (WebCore::ActiveDOMObject::~ActiveDOMObject):
2377         * dom/ActiveDOMObject.h:
2378         (ActiveDOMObject):
2379         * dom/DocumentEventQueue.cpp:
2380         (WebCore::DocumentEventQueue::DocumentEventQueue):
2381         * dom/ScriptExecutionContext.cpp:
2382         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
2383         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
2384         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
2385         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
2386         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
2387         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
2388         * dom/ScriptExecutionContext.h:
2389         (ScriptExecutionContext):
2390         * fileapi/DOMFileSystem.cpp:
2391         (WebCore::DOMFileSystem::create):
2392         * fileapi/FileReader.cpp:
2393         (WebCore):
2394         * fileapi/FileReader.h:
2395         (WebCore::FileReader::create):
2396         * fileapi/FileWriter.cpp:
2397         (WebCore):
2398         * fileapi/FileWriter.h:
2399         (WebCore::FileWriter::create):
2400         * history/CachedFrame.cpp:
2401         (WebCore::CachedFrame::CachedFrame):
2402         * html/HTMLAudioElement.cpp:
2403         (WebCore::HTMLAudioElement::create):
2404         (WebCore::HTMLAudioElement::createForJSConstructor):
2405         * html/HTMLMarqueeElement.cpp:
2406         (WebCore::HTMLMarqueeElement::create):
2407         * html/HTMLVideoElement.cpp:
2408         (WebCore::HTMLVideoElement::create):
2409         * mediastream/PeerConnection.cpp:
2410         (WebCore::PeerConnection::create):
2411         * notifications/Notification.cpp:
2412         (WebCore::Notification::create):
2413         * notifications/NotificationCenter.cpp:
2414         * notifications/NotificationCenter.h:
2415         (WebCore::NotificationCenter::create):
2416         * page/DOMTimer.cpp:
2417         (WebCore::DOMTimer::install):
2418         (WebCore::DOMTimer::fired):
2419         * page/EventSource.cpp:
2420         (WebCore::EventSource::create):
2421         * page/SuspendableTimer.cpp:
2422         (WebCore::SuspendableTimer::SuspendableTimer):
2423         * storage/IDBDatabase.cpp:
2424         (WebCore::IDBDatabase::create):
2425         * storage/IDBRequest.cpp:
2426         (WebCore::IDBRequest::create):
2427         * storage/IDBTransaction.cpp:
2428         (WebCore::IDBTransaction::create):
2429         * storage/IDBVersionChangeRequest.cpp:
2430         (WebCore::IDBVersionChangeRequest::create):
2431         * webaudio/AudioContext.cpp:
2432         (WebCore::AudioContext::create):
2433         * websockets/WebSocket.cpp:
2434         * websockets/WebSocket.h:
2435         (WebCore::WebSocket::create):
2436         * workers/SharedWorker.cpp:
2437         (WebCore::SharedWorker::create):
2438         * workers/Worker.cpp:
2439         (WebCore::Worker::create):
2440         * xml/XMLHttpRequest.cpp:
2441         (WebCore::XMLHttpRequest::create):
2442
2443 2012-02-06  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2444
2445         Move style related functions from NamedNodeMap to ElementAttributeData
2446         https://bugs.webkit.org/show_bug.cgi?id=77879
2447
2448         Reviewed by Ryosuke Niwa.
2449
2450         This commit also removes the NamedNodeMap::mappedAttributeCount(),
2451         which is a leftover from removal of mapped attributes.
2452
2453         * dom/ElementAttributeData.cpp:
2454         (WebCore::ElementAttributeData::ensureInlineStyleDecl):
2455         (WebCore):
2456         (WebCore::ElementAttributeData::destroyInlineStyleDecl):
2457         (WebCore::ElementAttributeData::ensureAttributeStyle):
2458         * dom/ElementAttributeData.h:
2459         (WebCore::ElementAttributeData::inlineStyleDecl):
2460         (ElementAttributeData):
2461         (WebCore::ElementAttributeData::attributeStyle):
2462         * dom/NamedNodeMap.cpp:
2463         * dom/NamedNodeMap.h:
2464         * dom/StyledElement.h:
2465         (StyledElement):
2466         (WebCore::StyledElement::inlineStyleDecl):
2467         (WebCore::StyledElement::ensureInlineStyleDecl):
2468         (WebCore::StyledElement::attributeStyle):
2469         (WebCore::StyledElement::ensureAttributeStyle):
2470         (WebCore::StyledElement::destroyInlineStyleDecl):
2471
2472 2012-02-06  Abhishek Arya  <inferno@chromium.org>
2473
2474         Crash in SubframeLoader::loadSubframe.
2475         https://bugs.webkit.org/show_bug.cgi?id=77345
2476
2477         Reviewed by Nate Chapin.
2478
2479         Mutation event when loading subframe can blow away the
2480         main frame. Add a RefPtr to protect against that.
2481
2482         Test: fast/frames/subframe-load-crash-main.html
2483
2484         * loader/SubframeLoader.cpp:
2485         (WebCore::SubframeLoader::loadSubframe):
2486
2487 2012-02-06  ChangSeok Oh  <shivamidow@gmail.com>
2488
2489         Initial implementation of GraphicsContext3DOpenGLES.cpp
2490         https://bugs.webkit.org/show_bug.cgi?id=76248
2491
2492         Reviewed by Martin Robinson.
2493
2494         Implemented APIs in GraphicsContext3DOpenGLES.cpp according to the GLES spec. roughly.
2495         But no way to run these codes right now, because they need an extra port
2496         specific implementation to work. I plan to add these extra codes for the GTK port
2497         in the next patch. And also this patch doesn't support anti-aliasing yet. Another bug
2498         will deal with it.
2499         Moved some APIs in GraphicsContext3DOpenGLES.cpp to GraphicsContext3DCommon.cpp.
2500         It looks it could be shared between gl and gles.
2501         Two helper functions are added to avoid code duplication in GraphicsContext3D.
2502         Added a missing period at the end of comment lines.
2503
2504         No new tests required.
2505         We'll be able to verify this patch by using the existing webgl test cases.
2506
2507         * platform/graphics/GraphicsContext3D.h: Add build flag to access stencilBuffer & depthBuffer for gles.
2508         (WebCore):
2509         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2510         (WebCore::GraphicsContext3D::reshapeFBOs): Helper function extracted from GC3D::reshape to resize regular & multisampled FBOs.
2511         (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Helper function to resolve multisampling.
2512         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2513         (WebCore::GraphicsContext3D::validateAttributes): Add condition to disable antialiasing & packedDepthStencilExtension for GLES.
2514         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
2515         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
2516
2517         Following APIs looked shareable so that moved into GC3DOpenGLCommon.cpp.
2518         (WebCore::GraphicsContext3D::prepareTexture):
2519         (WebCore):
2520         (WebCore::GraphicsContext3D::readRenderingResults):
2521         (WebCore::GraphicsContext3D::reshape):
2522         (WebCore::GraphicsContext3D::bindFramebuffer):
2523         (WebCore::GraphicsContext3D::copyTexImage2D):
2524         (WebCore::GraphicsContext3D::copyTexSubImage2D):
2525         (WebCore::GraphicsContext3D::getActiveUniform):
2526         (WebCore::GraphicsContext3D::readPixels):
2527
2528         Added a missing period at the end of comment line.
2529         (WebCore::GraphicsContext3D::compileShader):
2530         (WebCore::GraphicsContext3D::getActiveAttrib):
2531         (WebCore::GraphicsContext3D::uniform2fv):
2532         (WebCore::GraphicsContext3D::uniform3fv):
2533         (WebCore::GraphicsContext3D::uniform4fv):
2534         (WebCore::GraphicsContext3D::uniform2iv):
2535         (WebCore::GraphicsContext3D::uniform3iv):
2536         (WebCore::GraphicsContext3D::uniform4iv):
2537         (WebCore::GraphicsContext3D::uniformMatrix2fv):
2538         (WebCore::GraphicsContext3D::uniformMatrix3fv):
2539         (WebCore::GraphicsContext3D::uniformMatrix4fv):
2540         (WebCore::GraphicsContext3D::texSubImage2D):
2541
2542         * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
2543         (WebCore::GraphicsContext3D::reshapeFBOs): Same with the above.
2544         (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Same with the above.
2545
2546         Brief explanation about what the differences are between gl and gles.
2547         (WebCore::GraphicsContext3D::renderbufferStorage): Removed codes for converting GLES parameter to GL parameter.
2548         (WebCore::GraphicsContext3D::getIntegerv): Removed codes that emulate GLES.
2549         (WebCore::GraphicsContext3D::texImage2D): Removed codes for converting GLES parameter to GL parameter.
2550
2551 2012-02-06  Alexander Pavlov  <apavlov@chromium.org>
2552
2553         Web Inspector: [Meta] Allow emulation of touch events
2554         https://bugs.webkit.org/show_bug.cgi?id=77096
2555
2556         Reviewed by Pavel Feldman.
2557
2558         This is the inspector part of the change, core part implementation tracked in bug 77105.
2559
2560         * English.lproj/localizedStrings.js:
2561         * inspector/Inspector.json:
2562         * inspector/InspectorDOMAgent.cpp:
2563         (DOMAgentState):
2564         (WebCore::InspectorDOMAgent::clearFrontend):
2565         (WebCore::InspectorDOMAgent::restore):
2566         (WebCore):
2567         (WebCore::InspectorDOMAgent::updateTouchEventEmulationInDocuments):
2568         (WebCore::InspectorDOMAgent::setTouchEmulationEnabled):
2569         * inspector/InspectorDOMAgent.h:
2570         (InspectorDOMAgent):
2571         * inspector/front-end/DOMAgent.js:
2572         (WebInspector.DOMAgent.prototype._captureDOM):
2573         (WebInspector.DOMAgent.prototype._emulateTouchEventsChanged):
2574         * inspector/front-end/Settings.js:
2575         (WebInspector.Settings):
2576         * inspector/front-end/SettingsScreen.js:
2577         (WebInspector.SettingsScreen):
2578
2579 2012-02-06  Chris Guan  <chris.guan@torchmobile.com.cn>
2580
2581         [Blackberry] Non-supported about: operations never stops loading
2582         https://bugs.webkit.org/show_bug.cgi?id=76366
2583
2584         Reviewed by Rob Buis.
2585
2586         If user typed a non-supported "about:" scheme such as "about:nonsupport",
2587         the loadAboutURL() function in NetworkManger should recognize and handle it as 
2588         an error of invalid url.
2589
2590         * platform/network/blackberry/NetworkJob.cpp:
2591         (WebCore::NetworkJob::loadAboutURL):
2592         (WebCore::NetworkJob::handleAbout):
2593         * platform/network/blackberry/NetworkJob.h:
2594         (NetworkJob):
2595         * platform/network/blackberry/NetworkManager.cpp:
2596         (WebCore::NetworkManager::startJob):
2597
2598 2012-02-06  Alexander Pavlov  <apavlov@chromium.org>
2599
2600         Web Inspector: Remove unused disabledComputedProperties from methods in StylesSidebarPane
2601         https://bugs.webkit.org/show_bug.cgi?id=77876
2602
2603         Reviewed by Pavel Feldman.
2604
2605         * inspector/front-end/StylesSidebarPane.js:
2606         (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
2607         (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
2608         (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
2609         (WebInspector.StylesSidebarPane.prototype._refreshSectionsForStyleRules):
2610         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
2611         (WebInspector.StylePropertiesSection.prototype.onpopulate):
2612         (WebInspector.ComputedStylePropertiesSection):
2613         (WebInspector.ComputedStylePropertiesSection.prototype._isPropertyInherited):
2614
2615 2012-02-06  Alexei Filippov  <alexeif@chromium.org>
2616
2617         Web Inspector: Redesign summary view / retaining tree contents
2618         https://bugs.webkit.org/show_bug.cgi?id=77870
2619
2620         Reviewed by Pavel Feldman.
2621
2622         1. Make object IDs less contrast.
2623         2. Put array indices in [].
2624         3. Do not write type if it's just "Object".
2625
2626         * inspector/front-end/DetailedHeapshotGridNodes.js:
2627         (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
2628         (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
2629         (WebInspector.HeapSnapshotObjectNode.prototype._emptyData):
2630         (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
2631         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
2632         (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
2633         * inspector/front-end/heapProfiler.css:
2634         (.detailed-heapshot-view .console-formatted-id):
2635         (.detailed-heapshot-view td.object-column span.grayed):
2636
2637 2012-02-06  No'am Rosenthal  <noam.rosenthal@nokia.com>
2638
2639         [Texmap][Qt] Avoid an image copy when uploading textures in WebKit1
2640         https://bugs.webkit.org/show_bug.cgi?id=77748
2641
2642         Reviewed by Kenneth Rohde Christiansen.
2643
2644         Use QPixmap::buffer() API to get access to the QPixmap's pixels without implicit copies.
2645
2646         Instrumentation shows that the deep image copies created from TextureMapperGL are
2647         eliminated.
2648
2649         * platform/graphics/opengl/TextureMapperGL.cpp:
2650         (WebCore::BitmapTextureGL::updateContents):
2651
2652 2012-02-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2653
2654         LayoutTest failures on r106797
2655         https://bugs.webkit.org/show_bug.cgi?id=77868
2656
2657         Call suspendIfNeeded from subclass of IDBRequest, IDBVersionChangeRequest.
2658
2659         Reviewed by Simon Hausmann.
2660
2661         * storage/IDBVersionChangeRequest.cpp:
2662         (WebCore::IDBVersionChangeRequest::create):
2663
2664 2012-02-06  No'am Rosenthal  <noam.rosenthal@nokia.com>
2665
2666         [Qt] Implement ImageBuffer::copyImage(ImageBuffer::DontCopyBackingStore)
2667         https://bugs.webkit.org/show_bug.cgi?id=77689
2668
2669         Reviewed by Kenneth Rohde Christiansen.
2670
2671         Use StillImageQt::createForRendering when using DontCopyBackingStore.
2672         Enable DontCopyBackingStore in TextureMapperNode.
2673         This removes deep copies resulting from the use of ImageBuffer.
2674
2675         Instrumentation shows that deep image copies resulted from ImageBuffer are eliminated.
2676
2677         * platform/graphics/qt/ImageBufferQt.cpp:
2678         (WebCore::ImageBuffer::copyImage):
2679         * platform/graphics/texmap/TextureMapperNode.cpp:
2680         (WebCore::TextureMapperNode::renderContent):
2681
2682 2012-02-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2683
2684         WebGestureEvent can not encode delta and area.
2685         https://bugs.webkit.org/show_bug.cgi?id=77728
2686
2687         Add area field to PlatformGestureEvent.
2688
2689         Reviewed by Kenneth Rohde Christiansen.
2690
2691         * platform/PlatformGestureEvent.h:
2692         (WebCore::PlatformGestureEvent::PlatformGestureEvent):
2693         (WebCore::PlatformGestureEvent::area):
2694
2695 2012-02-06  Charles Wei  <charles.wei@torchmobile.com.cn>
2696
2697         [BlackBerry]Use extension for a mimetype as the suggested extension
2698         if the url file doesn't have an extension.
2699         https://bugs.webkit.org/show_bug.cgi?id=76779
2700
2701         Reviewed by Antonio Gomes.
2702
2703         No new tests. 
2704
2705         * platform/network/blackberry/NetworkJob.cpp:
2706         (WebCore::NetworkJob::sendResponseIfNeeded):
2707
2708 2012-02-06  Kentaro Hara  <haraken@chromium.org>
2709
2710         Rename [HasIndexGetter], [HasNameGetter] and [HasCustomIndexSetter] IDLs
2711         https://bugs.webkit.org/show_bug.cgi?id=77848
2712
2713         Reviewed by Adam Barth.
2714
2715         For naming consistency with [CustomGetter] and [CustomSetter],
2716         this patch renames the following IDLs:
2717
2718         [HasIndexGetter] => [IndexedGetter]  (Remove "Has". This IDL is for "indexed" properties
2719         in the Web IDL: http://dev.w3.org/2006/webapi/WebIDL/#idl-indexed-properties)
2720         [HasCustomIndexSetter] => [CustomIndexedSetter]  (Ditto.)
2721         [HasNameGetter] => [NamedGetter] (Remove "Has". This IDL is for "named" properties
2722         in the Web IDL: http://dev.w3.org/2006/webapi/WebIDL/#idl-named-properties)
2723
2724         No tests. No change in behavior.
2725
2726         * bindings/scripts/CodeGeneratorJS.pm:
2727         (GenerateGetOwnPropertySlotBody):
2728         (GenerateGetOwnPropertyDescriptorBody):
2729         (GenerateHeader):
2730         (GenerateImplementation):
2731         * bindings/scripts/CodeGeneratorV8.pm:
2732         (GenerateHeaderNamedAndIndexedPropertyAccessors):
2733         (GenerateImplementationIndexer):
2734         (GenerateImplementationNamedPropertyGetter):
2735
2736         * bindings/scripts/test/TestEventTarget.idl: No change in run-bindings-tests results.
2737         * bindings/scripts/test/TestTypedArray.idl: Ditto.
2738
2739         * Modules/gamepad/GamepadList.idl:
2740         * css/CSSRuleList.idl:
2741         * css/CSSStyleDeclaration.idl:
2742         * css/CSSValueList.idl:
2743         * css/MediaList.idl:
2744         * css/StyleSheetList.idl:
2745         * css/WebKitCSSFilterValue.idl:
2746         * css/WebKitCSSKeyframesRule.idl:
2747         * css/WebKitCSSTransformValue.idl:
2748         * dom/ClientRectList.idl:
2749         * dom/DOMStringList.idl:
2750         * dom/DOMStringMap.idl:
2751         * dom/DataTransferItemList.idl:
2752         * dom/NamedNodeMap.idl:
2753         * dom/NodeList.idl:
2754         * dom/TouchList.idl:
2755         * fileapi/EntryArray.idl:
2756         * fileapi/EntryArraySync.idl:
2757         * fileapi/FileList.idl:
2758         * html/DOMSettableTokenList.idl:
2759         * html/DOMTokenList.idl:
2760         * html/HTMLAllCollection.idl:
2761         * html/HTMLCollection.idl:
2762         * html/HTMLFormElement.idl:
2763         * html/HTMLOptionsCollection.idl:
2764         * html/HTMLPropertiesCollection.idl:
2765         * html/HTMLSelectElement.idl:
2766         * html/TextTrackCueList.idl:
2767         * html/canvas/CanvasPixelArray.idl:
2768         * html/canvas/Float32Array.idl:
2769         * html/canvas/Float64Array.idl:
2770         * html/canvas/Int16Array.idl:
2771         * html/canvas/Int32Array.idl:
2772         * html/canvas/Int8Array.idl:
2773         * html/canvas/Uint16Array.idl:
2774         * html/canvas/Uint32Array.idl:
2775         * html/canvas/Uint8Array.idl:
2776         * html/canvas/Uint8ClampedArray.idl:
2777         * html/track/TextTrackList.idl:
2778         * mediastream/MediaStreamList.idl:
2779         * mediastream/MediaStreamTrackList.idl:
2780         * page/SpeechInputResultList.idl:
2781         * page/WebKitAnimationList.idl:
2782         * plugins/DOMMimeTypeArray.idl:
2783         * plugins/DOMPlugin.idl:
2784         * plugins/DOMPluginArray.idl:
2785         * storage/Storage.idl:
2786
2787 2012-02-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2788
2789         Ensure timers and other active DOM objects do not fire in suspended documents.
2790         https://bugs.webkit.org/show_bug.cgi?id=53733
2791
2792         ScriptExecutionContext now remembers it has suspended active DOM objects
2793         and suspends all newly installed active DOM objects as well.
2794
2795         All create-calls active DOM objects now calls the post constructor method
2796         suspendIfNeeded that updates the suspend state. It is post constructor
2797         because the suspend/resume functions are virtual and thus can not be called
2798         from constructors.
2799
2800         Reviewed by Mihai Parparita.
2801
2802         Test: fast/events/suspend-timers.html
2803
2804         * Modules/intents/IntentRequest.cpp:
2805         (WebCore::IntentRequest::create):
2806         * bindings/generic/ActiveDOMCallback.cpp:
2807         (WebCore::ActiveDOMCallback::ActiveDOMCallback):
2808         * dom/ActiveDOMObject.cpp:
2809         (WebCore::ActiveDOMObject::ActiveDOMObject):
2810         (WebCore::ActiveDOMObject::~ActiveDOMObject):
2811         (WebCore::ActiveDOMObject::suspendIfNeeded):
2812         * dom/ActiveDOMObject.h:
2813         (WebCore::ActiveDOMObject::suspendIfNeededCalled):
2814         * dom/DocumentEventQueue.cpp:
2815         (WebCore::DocumentEventQueue::DocumentEventQueue):
2816         * dom/ScriptExecutionContext.cpp:
2817         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
2818         (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
2819         (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
2820         (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
2821         (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
2822         (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
2823         (WebCore::ScriptExecutionContext::suspendActiveDOMObjectIfNeeded):
2824         * dom/ScriptExecutionContext.h:
2825         (WebCore::ScriptExecutionContext::activeDOMObjectsAreSuspended):
2826         * fileapi/DOMFileSystem.cpp:
2827         (WebCore::DOMFileSystem::create):
2828         * fileapi/FileReader.cpp:
2829         (WebCore::FileReader::create):
2830         * fileapi/FileReader.h:
2831         * fileapi/FileWriter.cpp:
2832         (WebCore::FileWriter::create):
2833         * fileapi/FileWriter.h:
2834         * history/CachedFrame.cpp:
2835         (WebCore::CachedFrame::CachedFrame):
2836         * html/HTMLAudioElement.cpp:
2837         (WebCore::HTMLAudioElement::create):
2838         * html/HTMLMarqueeElement.cpp:
2839         (WebCore::HTMLMarqueeElement::create):
2840         * html/HTMLVideoElement.cpp:
2841         (WebCore::HTMLVideoElement::create):
2842         * mediastream/PeerConnection.cpp:
2843         (WebCore::PeerConnection::create):
2844         * notifications/Notification.cpp:
2845         (WebCore::Notification::create):
2846         * notifications/NotificationCenter.cpp:
2847         (WebCore::NotificationCenter::create):
2848         * notifications/NotificationCenter.h:
2849         * page/DOMTimer.cpp:
2850         (WebCore::DOMTimer::install):
2851         (WebCore::DOMTimer::fired):
2852         * page/EventSource.cpp:
2853         (WebCore::EventSource::create):
2854         * page/SuspendableTimer.cpp:
2855         (WebCore::SuspendableTimer::SuspendableTimer):
2856         * storage/IDBDatabase.cpp:
2857         (WebCore::IDBDatabase::create):
2858         * storage/IDBRequest.cpp:
2859         (WebCore::IDBRequest::create):
2860         * storage/IDBTransaction.cpp:
2861         (WebCore::IDBTransaction::create):
2862         * webaudio/AudioContext.cpp:
2863         (WebCore::AudioContext::create):
2864         * websockets/WebSocket.cpp:
2865         (WebCore::WebSocket::create):
2866         * websockets/WebSocket.h:
2867         * workers/SharedWorker.cpp:
2868         (WebCore::SharedWorker::create):
2869         * workers/Worker.cpp:
2870         (WebCore::Worker::create):
2871         * xml/XMLHttpRequest.cpp:
2872         (WebCore::XMLHttpRequest::create):
2873
2874 2012-02-06  Philippe Normand  <pnormand@igalia.com>
2875
2876         Adding FFTFrameGStreamer.cpp that I forgot to commit
2877         in r106537. That new file was reviewed in https://bugs.webkit.org/show_bug.cgi?id=73545.
2878
2879         * platform/audio/gstreamer/FFTFrameGStreamer.cpp: Added.
2880
2881 2012-02-06  Hayato Ito  <hayato@chromium.org>
2882
2883         Add <shadow> element, which is guarded by SHADOW_DOM flag.
2884         https://bugs.webkit.org/show_bug.cgi?id=76435
2885
2886         Reviewed by Dimitri Glazkov.
2887
2888         Test: fast/dom/shadow/shadow-element.html
2889
2890         * CMakeLists.txt:
2891         * DerivedSources.cpp:
2892         * DerivedSources.make:
2893         * DerivedSources.pri:
2894         * GNUmakefile.list.am:
2895         * Target.pri:
2896         * WebCore.gypi:
2897         * WebCore.vcproj/WebCore.vcproj:
2898         * WebCore.xcodeproj/project.pbxproj:
2899         * html/HTMLElementsAllInOne.cpp:
2900         * html/HTMLTagNames.in:
2901         * html/shadow/HTMLShadowElement.cpp: Added.
2902         (WebCore):
2903         (WebCore::HTMLShadowElement::HTMLShadowElement):
2904         (WebCore::HTMLShadowElement::create):
2905         (WebCore::HTMLShadowElement::~HTMLShadowElement):
2906         * html/shadow/HTMLShadowElement.h: Added.
2907         (WebCore):
2908         (HTMLShadowElement):
2909         * html/shadow/HTMLShadowElement.idl: Added.
2910
2911 2012-02-06  Joe Thomas  <joethomas@motorola.com>
2912
2913         https://bugs.webkit.org/show_bug.cgi?id=76995.
2914         WebKit fails IETC :indeterminate and input type=radio test.
2915
2916         All input types should respect indeterminate property(getter and setter). This is true with other browsers.
2917         Indeterminate appearance for radio input type is supported by IOS platform. Webkit need not support indeterminate appearance
2918         for radio input type on other platforms.
2919
2920         Reviewed by Kent Tamura.
2921
2922         Test: fast/forms/indeterminate-input-types.html
2923
2924         * html/CheckboxInputType.cpp:
2925         (WebCore::CheckboxInputType::supportsIndeterminateAppearance): Checks indeterminate appearance is supported.
2926         (WebCore):
2927         * html/CheckboxInputType.h:
2928         (CheckboxInputType):
2929         * html/HTMLInputElement.cpp:
2930         (WebCore::HTMLInputElement::setIndeterminate): Removed the check isCheckable().
2931         (WebCore::HTMLInputElement::isIndeterminate): Checks indeterminate appearance is supported.
2932         (WebCore):
2933         * html/HTMLInputElement.h:
2934         (HTMLInputElement):
2935         * html/InputType.cpp:
2936         (WebCore::InputType::supportsIndeterminateAppearance): Checks indeterminate appearance is supported.
2937         (WebCore):
2938         * html/InputType.h:
2939         (InputType):
2940         * html/RadioInputType.cpp:
2941         (WebCore::RadioInputType::willDispatchClick): Indeterminate related code is moved to IOS specific.
2942         (WebCore::RadioInputType::didDispatchClick): Ditto.
2943         (WebCore::RadioInputType::supportsIndeterminateAppearance): Checks indeterminate appearance is supported.
2944         (WebCore):
2945         * html/RadioInputType.h:
2946         (RadioInputType):
2947
2948 2012-02-06  Robin Cao  <robin.cao@torchmobile.com.cn>
2949
2950         [BlackBerry] Remove unused variable in PluginViewBlackBerry
2951         https://bugs.webkit.org/show_bug.cgi?id=77847
2952
2953         Reviewed by Kentaro Hara.
2954
2955         No changes in behavior, so no new tests.
2956
2957         * plugins/blackberry/PluginViewBlackBerry.cpp:
2958         (WebCore::PluginView::updatePluginWidget):
2959
2960 2012-02-06  Peter Rybin  <peter.rybin@gmail.com>
2961
2962         Web Inspector: Fix CallArgument type in Inspector.json
2963         https://bugs.webkit.org/show_bug.cgi?id=77839
2964
2965         Reviewed by Yury Semikhatsky.
2966
2967         Protocol description is fixed: field type is changed. No changes to
2968         program code are necessary.
2969
2970         * inspector/Inspector-0.1.json:
2971         * inspector/Inspector-1.0.json:
2972         * inspector/Inspector.json:
2973
2974 2012-02-05  Gavin Barraclough  <barraclough@apple.com>
2975
2976         Remove JSObject defineGetter/defineSetter lookupGetter/lookupSetter
2977         https://bugs.webkit.org/show_bug.cgi?id=77451
2978
2979         Reviewed by Sam Weinig.
2980
2981         These can now all be implemented in terms of defineOwnProperty & getPropertyDescriptor.
2982         Also remove initializeGetterSetterProperty, since this is equivalent to putDirectAccessor.
2983
2984         * bindings/js/JSDOMWindowCustom.cpp:
2985         (WebCore):
2986         (WebCore::JSDOMWindow::defineOwnProperty):
2987         * bindings/js/JSDOMWindowShell.cpp:
2988         (WebCore):
2989         * bindings/js/JSDOMWindowShell.h:
2990         (JSDOMWindowShell):
2991         * bindings/js/JSLocationCustom.cpp:
2992         (WebCore::JSLocation::defineOwnProperty):
2993         (WebCore::JSLocationPrototype::defineOwnProperty):
2994         * bindings/scripts/CodeGeneratorJS.pm:
2995         (GenerateHeader):
2996         * page/DOMWindow.idl:
2997         * page/Location.idl:
2998
2999 2012-02-06  Carlos Garcia Campos  <cgarcia@igalia.com>
3000
3001         Unreviewed. Fix make distrcheck.
3002
3003         * GNUmakefile.am: Fix typo in inspector json file.
3004         * GNUmakefile.list.am: Remove non existent file.
3005
3006 2012-02-06  Yury Semikhatsky  <yurys@chromium.org>
3007
3008         Unreviewed. Qt minimal compilation fix after r106777.
3009
3010         * inspector/InspectorDatabaseAgent.h: added missing #if ENABLED guards.
3011
3012 2012-02-05  Ilya Tikhonovsky  <loislo@chromium.org>
3013
3014         Web Inspector: REGRESSION detached dom nodes aren't highlighted
3015         https://bugs.webkit.org/show_bug.cgi?id=77829
3016
3017         This functionality was lost when I replaced (Native roots) with (Detached DOM trees) on v8 side.
3018
3019         Reviewed by Yury Semikhatsky.
3020
3021         * inspector/front-end/HeapSnapshot.js:
3022         (WebInspector.HeapSnapshotNode.prototype.get isDetachedDOMTreesRoot):
3023         (WebInspector.HeapSnapshot.prototype._markDetachedDOMTreeNodes):
3024
3025 2012-02-05  Ilya Tikhonovsky  <loislo@chromium.org>
3026
3027         Web Inspector: get rid of artificial heap snapshot nodes from the retaining tree.
3028         https://bugs.webkit.org/show_bug.cgi?id=77850
3029
3030         Reviewed by Yury Semikhatsky.
3031
3032         * inspector/front-end/DetailedHeapshotGridNodes.js:
3033         (WebInspector.HeapSnapshotObjectNode):
3034         (WebInspector.HeapSnapshotObjectNode.prototype.updateHasChildren):
3035         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
3036         * inspector/front-end/HeapSnapshot.js:
3037         (WebInspector.HeapSnapshotNode.prototype.get isArtificial):
3038         (WebInspector.HeapSnapshot.prototype._init):
3039
3040 2012-02-05  Peter Rybin  <peter.rybin@gmail.com>
3041
3042         Web Inspector: CodeGeneratorInspector.py: switch domain agents to formal interfaces in BackendDispatcher
3043         https://bugs.webkit.org/show_bug.cgi?id=77444
3044
3045         Reviewed by Yury Semikhatsky.
3046
3047         All agent code is switched to formal interfaces. Actual agent class
3048         names and includes are dropped from InspectorBackendDispatcher.h.
3049
3050         * inspector/CodeGeneratorInspector.py:
3051         (DomainNameFixes.get_fixed_data):
3052         (Generator.go):
3053         * inspector/InspectorAgent.h:
3054         * inspector/InspectorApplicationCacheAgent.h:
3055         * inspector/InspectorCSSAgent.cpp:
3056         (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
3057         * inspector/InspectorCSSAgent.h:
3058         (InspectorCSSAgent):
3059         * inspector/InspectorConsoleAgent.h:
3060         * inspector/InspectorDOMAgent.cpp:
3061         (WebCore::InspectorDOMAgent::highlightNode):
3062         * inspector/InspectorDOMAgent.h:
3063         (InspectorDOMAgent):
3064         * inspector/InspectorDOMDebuggerAgent.h:
3065         * inspector/InspectorDOMStorageAgent.h:
3066         * inspector/InspectorDatabaseAgent.h:
3067         * inspector/InspectorDebuggerAgent.cpp:
3068         (WebCore::InspectorDebuggerAgent::setBreakpoint):
3069         (WebCore::InspectorDebuggerAgent::continueToLocation):
3070         * inspector/InspectorDebuggerAgent.h:
3071         (InspectorDebuggerAgent):
3072         * inspector/InspectorFileSystemAgent.h:
3073         * inspector/InspectorIndexedDBAgent.h:
3074         * inspector/InspectorMemoryAgent.h:
3075         * inspector/InspectorPageAgent.h:
3076         * inspector/InspectorProfilerAgent.cpp:
3077         (WebCore::InspectorProfilerAgent::getProfile):
3078         (WebCore::InspectorProfilerAgent::removeProfile):
3079         * inspector/InspectorProfilerAgent.h:
3080         (InspectorProfilerAgent):
3081         * inspector/InspectorResourceAgent.cpp:
3082         (WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
3083         * inspector/InspectorResourceAgent.h:
3084         (InspectorResourceAgent):
3085         * inspector/InspectorRuntimeAgent.h:
3086         * inspector/InspectorTimelineAgent.cpp:
3087         (WebCore::InspectorTimelineAgent::start):
3088         * inspector/InspectorTimelineAgent.h:
3089         (InspectorTimelineAgent):
3090         * inspector/InspectorWorkerAgent.cpp:
3091         (WebCore::InspectorWorkerAgent::sendMessageToWorker):
3092         * inspector/InspectorWorkerAgent.h:
3093         (InspectorWorkerAgent):
3094
3095 2012-02-05  Kentaro Hara  <haraken@chromium.org>
3096
3097         Rename [TreatNullAs=EmptyString] to [TreatNullAs=NullString],
3098         [TreatUndefinedAs=EmptyString] to [TreatUndefinedAs=NullString]
3099         https://bugs.webkit.org/show_bug.cgi?id=77611
3100
3101         Reviewed by Adam Barth.
3102
3103         While the Web IDL spec requires [TreatNullAs=EmptyString] and [TreatUndefinedAs=EmptyString],
3104         the current WebKit treats them as (not an empty string but) a null string.
3105         To avoid confusion, this patch renames [TreatNullAs=EmptyString] to [TreatNullAs=NullString],
3106         and [TreatUndefinedAs=EmptyString] to [TreatUndefinedAs=NullString].
3107         (Eventually we should fix WebKit so that it uses an empty string and then
3108         rename them to [TreatNullAs=EmptyString] and [TreatUndefinedAs=EmptyString].)
3109
3110         No tests. No change in behavior.
3111
3112         * bindings/scripts/CodeGeneratorJS.pm: Added FIXME.
3113         (JSValueToNative):
3114         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
3115         (GetNativeTypeFromSignature):
3116
3117         * bindings/scripts/test/TestObj.idl:
3118         * css/CSSCharsetRule.idl:
3119         * css/CSSPageRule.idl:
3120         * css/CSSRule.idl:
3121         * css/CSSStyleDeclaration.idl:
3122         * css/CSSStyleRule.idl:
3123         * css/CSSValue.idl:
3124         * css/MediaList.idl:
3125         * css/WebKitCSSKeyframesRule.idl:
3126         * dom/Attr.idl:
3127         * dom/CharacterData.idl:
3128         * dom/DOMImplementation.idl:
3129         * dom/Document.idl:
3130         * dom/Element.idl:
3131         * dom/NamedNodeMap.idl:
3132         * dom/Node.idl:
3133         * dom/ProcessingInstruction.idl:
3134         * dom/ShadowRoot.idl:
3135         * fileapi/Blob.idl:
3136         * fileapi/DirectoryEntry.idl:
3137         * fileapi/DirectoryEntrySync.idl:
3138         * fileapi/Entry.idl:
3139         * fileapi/EntrySync.idl:
3140         * fileapi/WebKitBlobBuilder.idl:
3141         * html/HTMLAnchorElement.idl:
3142         * html/HTMLButtonElement.idl:
3143         * html/HTMLCanvasElement.idl:
3144         * html/HTMLDocument.idl:
3145         * html/HTMLElement.idl:
3146         * html/HTMLFieldSetElement.idl:
3147         * html/HTMLFormElement.idl:
3148         * html/HTMLFrameElement.idl:
3149         * html/HTMLInputElement.idl:
3150         * html/HTMLKeygenElement.idl:
3151         * html/HTMLMediaElement.idl:
3152         * html/HTMLObjectElement.idl:
3153         * html/HTMLOutputElement.idl:
3154         * html/HTMLScriptElement.idl:
3155         * html/HTMLSelectElement.idl:
3156         * html/HTMLTextAreaElement.idl:
3157         * html/HTMLTitleElement.idl:
3158         * html/canvas/CanvasRenderingContext2D.idl:
3159         * page/Console.idl:
3160         * page/DOMWindow.idl:
3161         * storage/StorageEvent.idl:
3162         * svg/SVGAngle.idl:
3163         * svg/SVGElement.idl:
3164         * svg/SVGLength.idl:
3165         * svg/SVGScriptElement.idl:
3166
3167 2012-02-05  Kentaro Hara  <haraken@chromium.org>
3168
3169         Rename [JSCCustom*] IDL to [JSCustom*] IDL
3170         https://bugs.webkit.org/show_bug.cgi?id=77844
3171
3172         Reviewed by Adam Barth.
3173
3174         Most existing JSC-specific IDLs have "JS" prefix. We can rename [JSCCustom] to
3175         [JSCustom], [JSCCustomGetter] to [JSCustomGetter], and [JSCCustomSetter] to
3176         [JSCustomSetter].
3177
3178         No tests. No change in behavior.
3179
3180         * bindings/scripts/CodeGeneratorJS.pm:
3181         (GenerateHeader):
3182         (GenerateImplementation):
3183         * css/CSSStyleDeclaration.idl:
3184         * html/HTMLDocument.idl:
3185         * html/canvas/DataView.idl:
3186         * page/DOMWindow.idl:
3187         * page/MemoryInfo.idl:
3188         * webaudio/ConvolverNode.idl:
3189         * webaudio/DOMWindowWebAudio.idl:
3190         * webaudio/WaveShaperNode.idl:
3191         * websockets/DOMWindowWebSocket.idl:
3192         * workers/WorkerContext.idl:
3193
3194 2012-02-05  ChangSeok Oh  <shivamidow@gmail.com>
3195
3196         [EFL] Enable WebGL with glx backend
3197         https://bugs.webkit.org/show_bug.cgi?id=77308
3198
3199         Reviewed by Martin Robinson.
3200
3201         Implemented WebGL feature for EFL port. The way is very similar to the one of GTK port.
3202
3203         No new tests required. We can verify this feature with the existing test cases.
3204
3205         * CMakeLists.txt: Revised common files required for WebGL.
3206         * PlatformEfl.cmake: Added EFL specific files.
3207         * html/HTMLCanvasElement.cpp:
3208         (WebCore::HTMLCanvasElement::getContext):
3209         * platform/graphics/ANGLEWebKitBridge.h:
3210         * platform/graphics/GraphicsContext3D.h:
3211         (WebCore):
3212         (WebCore::GraphicsContext3D::platformTexture):
3213         (GraphicsContext3D):
3214         (WebCore::GraphicsContext3D::paintsIntoCanvasBuffer):
3215         * platform/graphics/efl/DrawingBufferEfl.cpp: Copied from GTK port.
3216         (WebCore):
3217         (WebCore::DrawingBuffer::DrawingBuffer):
3218         (WebCore::DrawingBuffer::~DrawingBuffer):
3219         (WebCore::DrawingBuffer::platformColorBuffer):
3220         (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
3221         * platform/graphics/efl/GraphicsContext3DEfl.cpp: Almost same with GraphicsContext3DGtk.cpp.
3222         (WebCore::GraphicsContext3D::create):
3223         (WebCore::GraphicsContext3D::GraphicsContext3D):
3224         (WebCore::GraphicsContext3D::~GraphicsContext3D):
3225         (WebCore::GraphicsContext3D::makeContextCurrent):
3226         (WebCore::GraphicsContext3D::platformGraphicsContext3D):
3227         (WebCore::GraphicsContext3D::isGLES2Compliant):
3228         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
3229         (WebCore::Extensions3DOpenGL::createVertexArrayOES):
3230         (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
3231         (WebCore::Extensions3DOpenGL::isVertexArrayOES):
3232         (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
3233         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
3234         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
3235
3236 2012-02-05  Abhishek Arya  <inferno@chromium.org>
3237
3238         Crash in FormSubmission::create.
3239         https://bugs.webkit.org/show_bug.cgi?id=77813
3240
3241         Reviewed by Kent Tamura.
3242
3243         Test: fast/forms/form-submission-create-crash.xhtml
3244
3245         * loader/FormSubmission.cpp:
3246         (WebCore::FormSubmission::create):
3247
3248 2012-02-05  Andreas Kling  <awesomekling@apple.com>
3249
3250         Remove unused file MappedAttributeEntry.h.
3251         <http://webkit.org/b/77841>
3252
3253         Reviewed by Anders Carlsson.
3254
3255         * GNUmakefile.list.am:
3256         * WebCore.gypi:
3257         * WebCore.vcproj/WebCore.vcproj:
3258         * WebCore.xcodeproj/project.pbxproj:
3259         * dom/MappedAttributeEntry.h: Removed.
3260         * dom/StyledElement.h:
3261
3262 2012-02-05  Andreas Kling  <awesomekling@apple.com>
3263
3264         StyledElement: Rename parseMappedAttribute() to parseAttribute().
3265         <http://webkit.org/b/77830>
3266
3267         Reviewed by Anders Carlsson.
3268
3269         Rename across the board and decorate subclasses with OVERRIDE.
3270
3271 2012-02-05  Gustavo Noronha Silva  <gns@gnome.org>
3272
3273         Unreviewed syntax fix.
3274
3275         * English.lproj/localizedStrings.js:
3276
3277 2012-02-05  Andreas Kling  <awesomekling@apple.com>
3278
3279         Swedish buildfix.
3280
3281         * dom/Document.cpp:
3282         (WebCore::wheelEventHandlerCountChanged):
3283
3284 2012-02-05  Anders Carlsson  <andersca@apple.com>
3285
3286         The scrolling tree should be aware of any wheel event handlers on the page
3287         https://bugs.webkit.org/show_bug.cgi?id=77840
3288
3289         Reviewed by Andreas Kling.
3290
3291         If there are wheel event handlers on the page, any wheel events must be redispatched
3292         to the main thread so they can go through the DOM event handling.
3293
3294         * dom/Document.cpp:
3295         (WebCore::wheelEventHandlerCountChanged):
3296         Inform the scrolling coordinator that the wheel event count changed.
3297
3298         (WebCore::Document::didAddWheelEventHandler):
3299         (WebCore::Document::didRemoveWheelEventHandler):
3300         Call wheelEventHandlerCountChanged.
3301
3302         * page/scrolling/ScrollingCoordinator.cpp:
3303         (WebCore::ScrollingCoordinator::frameViewWheelEventHandlerCountChanged):
3304         Call recomputeWheelEventHandlerCount.
3305
3306         (WebCore::ScrollingCoordinator::recomputeWheelEventHandlerCount):
3307         Update the scrolling tree state.
3308
3309         * page/scrolling/ScrollingTree.cpp:
3310         (WebCore::ScrollingTree::ScrollingTree):
3311         Initialize m_hasWheelEventHandlers to false.
3312
3313         (WebCore::ScrollingTree::tryToHandleWheelEvent):
3314         If m_hasWheelEventHandlers is true, bail.
3315
3316         (WebCore::ScrollingTree::commitNewTreeState):
3317         Update m_hasWheelEventHandlers.
3318
3319         * page/scrolling/ScrollingTreeState.cpp:
3320         (WebCore::ScrollingTreeState::ScrollingTreeState):
3321         (WebCore::ScrollingTreeState::setWheelEventHandlerCount):
3322         Add getter and setter for the wheel event handler count.
3323
3324 2012-02-05  Andreas Kling  <awesomekling@apple.com>
3325
3326         Remove mapped vs non-mapped attribute distinction.
3327         <http://webkit.org/b/77827>
3328
3329         Reviewed by Antti Koivisto.
3330
3331         Removed the isMappedAttribute flag from Attribute as it no longer serves
3332         a practical purpose. Previously, StyledElement would generate mapped
3333         attributes and plain Element would generate non-mapped ones.
3334
3335         The distinction is now made much more clearly by dividing the work between
3336         Element's and StyledElement's attributeChanged() methods. The only thing
3337         that StyledElement wants to do in addition to what Element does is
3338         calling parseMappedAttribute() (which we'll rename in a later patch.)
3339
3340         * dom/Attribute.cpp:
3341         (WebCore::Attribute::clone):
3342         * dom/Attribute.h:
3343         (WebCore::Attribute::create):
3344         (WebCore::Attribute::Attribute):
3345         (Attribute):
3346         * dom/Document.cpp:
3347         (WebCore::Document::createAttributeNS):
3348         * dom/Element.cpp:
3349         (WebCore::Element::attributeChanged):
3350         * dom/Element.h:
3351         (Element):
3352         * dom/Node.cpp:
3353         (WebCore::Node::dumpStatistics):
3354         * dom/StyledElement.cpp:
3355         (WebCore::StyledElement::attributeChanged):
3356         (WebCore::StyledElement::parseMappedAttribute):
3357         * dom/StyledElement.h:
3358         (StyledElement):
3359         * html/parser/HTMLConstructionSite.cpp:
3360         (WebCore):
3361         * html/parser/HTMLTreeBuilder.cpp:
3362         (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
3363         * html/parser/TextDocumentParser.cpp:
3364         (WebCore::TextDocumentParser::insertFakePreElement):
3365         * svg/SVGStyledElement.cpp:
3366         (WebCore::SVGStyledElement::getPresentationAttribute):
3367         * xml/parser/MarkupTokenBase.h:
3368         (WebCore::::initializeAttributes):
3369
3370 2012-02-05  Andreas Kling  <awesomekling@apple.com>
3371
3372         Kill CSSMappedAttributeDeclaration.
3373         <http://webkit.org/b/77820>
3374
3375         Reviewed by Antti Koivisto.
3376
3377         Replace all use of CSSMappedAttributeDeclaration by StylePropertySet.
3378         Moved the setNeedsStyleRecalc() calls from CSSMappedAttributeDeclaration
3379         to the add/remove-CSS-property helpers in StyledElement.
3380
3381         This removes one step of indirection for attribute styles and reduces
3382         the size of elements that have presentational attributes by one pointer.
3383
3384         * CMakeLists.txt:
3385         * GNUmakefile.list.am:
3386         * Target.pri:
3387         * WebCore.gypi:
3388         * WebCore.order:
3389         * WebCore.vcproj/WebCore.vcproj:
3390         * WebCore.xcodeproj/project.pbxproj:
3391         * dom/CSSMappedAttributeDeclaration.cpp: Removed.
3392         * dom/CSSMappedAttributeDeclaration.h: Removed.
3393         * dom/DOMAllInOne.cpp:
3394
3395             Remove CSSMappedAttributeDeclaration.{cpp,h}
3396
3397         * css/CSSParser.h:
3398         * css/CSSParser.cpp:
3399         (WebCore::parseSimpleLengthValue):
3400
3401             Remove CSSParser::parseMappedAttributeValue(), we now use parseValue()
3402             directly instead. We lose the benefit of caching new CSSValues in the
3403             document's CSSValuePool but this optimization can be added back later.
3404
3405         * css/CSSStyleSelector.cpp:
3406         (WebCore::CSSStyleSelector::matchAllRules):
3407         * dom/ElementAttributeData.h:
3408         (ElementAttributeData):
3409         * dom/NamedNodeMap.cpp:
3410         (WebCore::NamedNodeMap::ensureAttributeStyle):
3411         * dom/NamedNodeMap.h:
3412         (WebCore::NamedNodeMap::attributeStyle):
3413         (NamedNodeMap):
3414         * dom/StyledElement.cpp:
3415         (WebCore::StyledElement::removeCSSProperties):
3416         (WebCore::StyledElement::addCSSProperty):
3417         (WebCore::StyledElement::addCSSImageProperty):
3418         (WebCore::StyledElement::addCSSLength):
3419         (WebCore::StyledElement::addCSSColor):
3420         * dom/StyledElement.h:
3421         (WebCore):
3422         (WebCore::StyledElement::attributeStyle):
3423         (WebCore::StyledElement::ensureAttributeStyle):
3424         * inspector/InspectorCSSAgent.cpp:
3425         (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
3426
3427 2012-02-05  Ilya Tikhonovsky  <loislo@chromium.org>
3428
3429         Web Inspector: beautify retaining tree items view.
3430         https://bugs.webkit.org/show_bug.cgi?id=77810
3431
3432         Reviewed by Yury Semikhatsky.
3433
3434         * inspector/front-end/DetailedHeapshotGridNodes.js:
3435         (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
3436         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
3437         * inspector/front-end/heapProfiler.css:
3438         (.cycled-ancessor-node):
3439         * inspector/front-end/profilesPanel.css:
3440
3441 2012-02-04  Shawn Singh  <shawnsingh@chromium.org>
3442
3443         [chromium] Add support to force full damage in CCDamageTracker
3444         https://bugs.webkit.org/show_bug.cgi?id=76805
3445
3446         Reviewed by James Robinson.
3447
3448         Unit test added to CCDamageTrackerTest.cpp.
3449
3450         This feature is needed for events that should cause the entire
3451         surface to be damaged, even if layers themselves had only partial
3452         damage or no damage at all. For example, tab-switching is one such
3453         event.
3454
3455         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
3456         (WebCore::CCDamageTracker::CCDamageTracker):
3457         (WebCore::CCDamageTracker::updateDamageRectForNextFrame):
3458         * platform/graphics/chromium/cc/CCDamageTracker.h:
3459         (WebCore::CCDamageTracker::forceFullDamageNextUpdate):
3460         (CCDamageTracker):
3461
3462 2012-02-04  Anders Carlsson  <andersca@apple.com>
3463
3464         Remove dead code from ScrollingCoordinator
3465         https://bugs.webkit.org/show_bug.cgi?id=77821
3466
3467         Reviewed by Sam Weinig.
3468
3469         * WebCore.exp.in:
3470         * page/scrolling/ScrollingCoordinator.cpp:
3471         (WebCore::ScrollingCoordinator::ScrollingCoordinator):
3472         * page/scrolling/ScrollingCoordinator.h:
3473         (ScrollingCoordinator):
3474         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
3475         (WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange):
3476         * rendering/RenderLayerCompositor.cpp:
3477         (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
3478         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
3479
3480 2012-02-04  Anders Carlsson  <andersca@apple.com>
3481
3482         The scrolling tree should inform the main scrolling coordinator when the scroll position changes
3483         https://bugs.webkit.org/show_bug.cgi?id=77818
3484
3485         Reviewed by Sam Weinig.
3486
3487         * page/scrolling/ScrollingCoordinator.cpp:
3488         (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
3489         Set the main frame scroll position.
3490
3491         * page/scrolling/ScrollingTree.cpp:
3492         (WebCore::ScrollingTree::updateMainFrameScrollPosition):
3493         Call ScrollingCoordinator::updateMainFrameScrollPosition on the main thread.
3494
3495         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
3496         (WebCore::ScrollingTreeNodeMac::scrollBy):
3497         Call ScrollingTree::updateMainFrameScrollPosition.
3498
3499 2012-02-04  Andreas Kling  <awesomekling@apple.com>
3500
3501         Element: Remove unnecessary attributeChanged() argument.
3502         <http://webkit.org/b/77814>
3503
3504         Reviewed by Ryosuke Niwa.
3505
3506         Remove the 'preserveDecls' argument to Element::attributeChanged() as that is no
3507         longer needed after the removal of per-attribute style declarations.
3508         Decorated subclass overrides with OVERRIDE since we're touching the lines.
3509
3510         Also removed an old inaccurate comment in NamedNodeMap::setAttributes() - calling
3511         attributeChanged() is absolutely necessary to initialize element-specific state.
3512
3513         * dom/Element.cpp:
3514         (WebCore::Element::attributeChanged):
3515         * dom/Element.h:
3516         (Element):
3517         * dom/NamedNodeMap.cpp:
3518         (WebCore::NamedNodeMap::setAttributes):
3519         * dom/StyledElement.cpp:
3520         (WebCore::StyledElement::attributeChanged):
3521         * dom/StyledElement.h:
3522         (StyledElement):
3523         * html/HTMLInputElement.cpp:
3524         (WebCore::HTMLInputElement::updateType):
3525         * html/HTMLMediaElement.cpp:
3526         (WebCore::HTMLMediaElement::attributeChanged):
3527         * html/HTMLMediaElement.h:
3528         (HTMLMediaElement):
3529         * html/HTMLScriptElement.cpp:
3530         (WebCore::HTMLScriptElement::attributeChanged):
3531         * html/HTMLScriptElement.h:
3532         (HTMLScriptElement):
3533         * html/HTMLTrackElement.cpp:
3534         (WebCore::HTMLTrackElement::attributeChanged):
3535         * html/HTMLTrackElement.h:
3536         (HTMLTrackElement):
3537         * svg/SVGAnimationElement.cpp:
3538         (WebCore::SVGAnimationElement::attributeChanged):
3539         * svg/SVGAnimationElement.h:
3540         * svg/SVGElement.cpp:
3541         (WebCore::SVGElement::attributeChanged):
3542         * svg/SVGElement.h:
3543         (SVGElement):
3544         * svg/animation/SVGSMILElement.cpp:
3545         (WebCore::SVGSMILElement::attributeChanged):
3546         * svg/animation/SVGSMILElement.h:
3547         (SVGSMILElement):
3548
3549 2012-02-04  Ken Buchanan  <kenrb@chromium.org>
3550
3551         Crash when reparenting children of flexible boxes
3552         https://bugs.webkit.org/show_bug.cgi?id=77458
3553
3554         Reviewed by Ojan Vafai.
3555
3556         This fixes some regressions I introduced in r106150. RenderBlock::
3557         removeChild needs to be careful about not collapsing anonymous
3558         blocks underneath flexible boxes, and also about node ordering
3559         when there is an after block.
3560
3561         * rendering/RenderBlock.cpp:
3562         (WebCore::RenderBlock::removeChild):
3563         (WebCore::RenderBlock::collapseAnonymousBoxChild):
3564
3565 2012-02-04  Ryosuke Niwa  <rniwa@webkit.org>
3566
3567         Debug build fix after r106715.
3568
3569         * html/HTMLDetailsElement.cpp:
3570         (WebCore::DetailsSummaryElement::create):
3571
3572 2012-02-04  Andreas Kling  <awesomekling@apple.com>
3573
3574         Unreviewed test fix after r106740.
3575         <http://webkit.org/b/77204>
3576
3577         Disable matched declaration caching for elements with attribute style until we can
3578         figure out how it's supposed to work.
3579
3580         * css/CSSStyleSelector.cpp:
3581         (WebCore::CSSStyleSelector::matchAllRules):
3582
3583 2012-02-03  Andreas Kling  <awesomekling@apple.com>
3584
3585         Kill per-Attribute style declarations.
3586         <http://webkit.org/b/77204>
3587
3588         Reviewed by Antti Koivisto.
3589
3590         TL;DR summary: Remove the per-Attribute style declarations and replace them by a single
3591         style declaration on StyledElement that acts as a secondary inline style.
3592
3593         The previous design was conceived in the Age of the Old Web(tm) where the majority of
3594         element styling was accomplished via attributes. Nowadays, CSS is a much better tool for
3595         this and we should optimize around that instead.
3596
3597         StyledElements now have an attributeStyle() which contains all the styling from attributes.
3598         parseMappedAttribute() is responsible for adding/removing properties to the attributeStyle
3599         as the corresponding attributes come in/out of the element.
3600
3601         Each Attribute instance shrinks by one pointer, each element that has attributes grows by
3602         one pointer. The styles from individual attributes are no longer shared, so content that
3603         uses a lot of repeating styling attributes will see a slight memory regression from this.
3604         Future improvements to this could enable sharing the attributeStyle between elements that
3605         have the same exact attributes to mitigate some of the damage.
3606
3607         There should be no web-facing behavior change from this, but it does break two things:
3608
3609         - The Inspector feature for displaying per-attribute styles. To keep things manageable,
3610           this patch simply files all the attribute styles together under an anonymous attribute
3611           in the Inspector.
3612
3613         - The Obj-C DOM binding for Attr::style() has to be kept for compatibility reasons,
3614           though it's already deprecated. It will now always return nil, since there's no way to
3615           retrieve a live style declaration that's specific to a certain Attr.
3616
3617         * css/CSSStyleSelector.cpp:
3618         (WebCore::CSSStyleSelector::matchAllRules):
3619         (WebCore::CSSStyleSelector::canShareStyleWithElement):
3620         * dom/Attr.h:
3621         (WebCore):
3622         (Attr):
3623         (WebCore::Attr::style):
3624         * dom/Attribute.cpp:
3625         (WebCore::Attribute::clone):
3626         * dom/Attribute.h:
3627         (WebCore):
3628         (WebCore::Attribute::create):
3629         (WebCore::Attribute::createMapped):
3630         (Attribute):
3631         (WebCore::Attribute::Attribute):
3632         * dom/CSSMappedAttributeDeclaration.cpp:
3633         (WebCore::CSSMappedAttributeDeclaration::~CSSMappedAttributeDeclaration):
3634         (WebCore::CSSMappedAttributeDeclaration::setMappedProperty):
3635         * dom/CSSMappedAttributeDeclaration.h:
3636         (CSSMappedAttributeDeclaration):
3637         (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
3638         * dom/Element.h:
3639         (Element):
3640         * dom/ElementAttributeData.h:
3641         (ElementAttributeData):
3642         * dom/NamedNodeMap.cpp:
3643         (WebCore::NamedNodeMap::ensureAttributeStyle):
3644         (WebCore):
3645         * dom/NamedNodeMap.h:
3646         (WebCore::NamedNodeMap::attributeStyle):
3647         (NamedNodeMap):
3648         * dom/StyledElement.cpp:
3649         (WebCore):
3650         (WebCore::StyledElement::attributeChanged):
3651         (WebCore::StyledElement::removeCSSProperties):
3652         (WebCore::StyledElement::addCSSProperty):
3653         (WebCore::StyledElement::addCSSImageProperty):
3654         (WebCore::StyledElement::addCSSLength):
3655         (WebCore::StyledElement::addCSSColor):
3656         * dom/StyledElement.h:
3657         (StyledElement):
3658         (WebCore::StyledElement::removeCSSProperty):
3659         (WebCore::StyledElement::attributeStyle):
3660         (WebCore::StyledElement::ensureAttributeStyle):
3661         * html/HTMLBRElement.cpp:
3662         (WebCore::HTMLBRElement::parseMappedAttribute):
3663         * html/HTMLBRElement.h:
3664         (HTMLBRElement):
3665         * html/HTMLBodyElement.cpp:
3666         (WebCore::HTMLBodyElement::parseMappedAttribute):
3667         * html/HTMLBodyElement.h:
3668         (HTMLBodyElement):
3669         * html/HTMLDivElement.cpp:
3670         (WebCore::HTMLDivElement::parseMappedAttribute):
3671         * html/HTMLDivElement.h:
3672         (HTMLDivElement):
3673         * html/HTMLElement.cpp:
3674         (WebCore::HTMLElement::applyBorderAttribute):
3675         (WebCore::HTMLElement::mapLanguageAttributeToLocale):
3676         (WebCore::HTMLElement::parseMappedAttribute):
3677         (WebCore::HTMLElement::removeHTMLAlignment):
3678         (WebCore):
3679         (WebCore::HTMLElement::addHTMLAlignmentToStyledElement):
3680         (WebCore::HTMLElement::setContentEditable):
3681         * html/HTMLElement.h:
3682         (HTMLElement):
3683         * html/HTMLEmbedElement.cpp:
3684         (WebCore::HTMLEmbedElement::parseMappedAttribute):
3685         * html/HTMLEmbedElement.h:
3686         (HTMLEmbedElement):
3687         * html/HTMLFontElement.cpp:
3688         (WebCore::HTMLFontElement::parseMappedAttribute):
3689         * html/HTMLFontElement.h:
3690         (HTMLFontElement):
3691         * html/HTMLFrameSetElement.cpp:
3692         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
3693         * html/HTMLFrameSetElement.h:
3694         (HTMLFrameSetElement):
3695         * html/HTMLHRElement.cpp:
3696         (WebCore::HTMLHRElement::parseMappedAttribute):
3697         * html/HTMLHRElement.h:
3698         (HTMLHRElement):
3699         * html/HTMLIFrameElement.cpp:
3700         (WebCore::HTMLIFrameElement::parseMappedAttribute):
3701         * html/HTMLIFrameElement.h:
3702         (HTMLIFrameElement):
3703         * html/HTMLImageElement.cpp:
3704         (WebCore::HTMLImageElement::parseMappedAttribute):
3705         * html/HTMLImageElement.h:
3706         (HTMLImageElement):
3707         * html/HTMLInputElement.cpp:
3708         (WebCore::HTMLInputElement::parseMappedAttribute):
3709         * html/HTMLInputElement.h:
3710         (HTMLInputElement):
3711         * html/HTMLLIElement.cpp:
3712         (WebCore::HTMLLIElement::parseMappedAttribute):
3713         * html/HTMLLIElement.h:
3714         (HTMLLIElement):
3715         * html/HTMLMarqueeElement.cpp:
3716         (WebCore::HTMLMarqueeElement::parseMappedAttribute):
3717         * html/HTMLMarqueeElement.h:
3718         (HTMLMarqueeElement):
3719         * html/HTMLOListElement.cpp:
3720         (WebCore::HTMLOListElement::parseMappedAttribute):
3721         * html/HTMLOListElement.h:
3722         (HTMLOListElement):
3723         * html/HTMLOutputElement.cpp:
3724         * html/HTMLOutputElement.h:
3725         (HTMLOutputElement):
3726         * html/HTMLParagraphElement.cpp:
3727         (WebCore::HTMLParagraphElement::parseMappedAttribute):
3728         * html/HTMLParagraphElement.h:
3729         (HTMLParagraphElement):
3730         * html/HTMLPlugInElement.cpp:
3731         (WebCore::HTMLPlugInElement::parseMappedAttribute):
3732         * html/HTMLPlugInElement.h:
3733         (HTMLPlugInElement):
3734         * html/HTMLPreElement.cpp:
3735         (WebCore::HTMLPreElement::parseMappedAttribute):
3736         * html/HTMLPreElement.h:
3737         (HTMLPreElement):
3738         * html/HTMLTableCaptionElement.cpp:
3739         (WebCore::HTMLTableCaptionElement::parseMappedAttribute):
3740         * html/HTMLTableCaptionElement.h:
3741         (HTMLTableCaptionElement):
3742         * html/HTMLTableCellElement.cpp:
3743         (WebCore::HTMLTableCellElement::parseMappedAttribute):
3744         * html/HTMLTableCellElement.h:
3745         (HTMLTableCellElement):
3746         * html/HTMLTableColElement.cpp:
3747         (WebCore::HTMLTableColElement::parseMappedAttribute):
3748         * html/HTMLTableColElement.h:
3749         (HTMLTableColElement):
3750         * html/HTMLTableElement.cpp:
3751         (WebCore::HTMLTableElement::parseMappedAttribute):
3752         * html/HTMLTableElement.h:
3753         (HTMLTableElement):
3754         * html/HTMLTablePartElement.cpp:
3755         (WebCore):
3756         (WebCore::HTMLTablePartElement::parseMappedAttribute):
3757         * html/HTMLTablePartElement.h:
3758         * html/HTMLTextAreaElement.cpp:
3759         (WebCore::HTMLTextAreaElement::parseMappedAttribute):
3760         * html/HTMLUListElement.cpp:
3761         (WebCore::HTMLUListElement::parseMappedAttribute):
3762         * html/HTMLUListElement.h:
3763         (HTMLUListElement):
3764         * html/HTMLVideoElement.cpp:
3765         (WebCore::HTMLVideoElement::parseMappedAttribute):
3766         * inspector/InspectorCSSAgent.cpp:
3767         (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
3768         * mathml/MathMLElement.cpp:
3769         (WebCore::MathMLElement::parseMappedAttribute):
3770         * mathml/MathMLElement.h:
3771         * svg/SVGImageElement.cpp:
3772         (WebCore::SVGImageElement::parseMappedAttribute):
3773         * svg/SVGStyledElement.cpp:
3774         (WebCore::SVGStyledElement::parseMappedAttribute):
3775         (WebCore::SVGStyledElement::getPresentationAttribute):
3776         * svg/SVGStyledElement.h:
3777         (SVGStyledElement):
3778         * svg/SVGTextContentElement.cpp:
3779         (WebCore::SVGTextContentElement::parseMappedAttribute):
3780
3781 2012-02-03  Ilya Tikhonovsky  <loislo@chromium.org>
3782
3783         Web Inspector: get rid of cycles in retaining tree
3784         https://bugs.webkit.org/show_bug.cgi?id=77801
3785
3786         Drive by fix: 'retained by' prefix was removed.
3787
3788         Reviewed by Yury Semikhatsky.
3789
3790         * inspector/front-end/DetailedHeapshotGridNodes.js:
3791         (WebInspector.HeapSnapshotObjectNode):
3792         (WebInspector.HeapSnapshotObjectNode.prototype._updateHasChildren):
3793         (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
3794         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
3795         * inspector/front-end/profilesPanel.css:
3796         (.cycled-ancessor-node):
3797
3798 2012-02-04  Kentaro Hara  <haraken@chromium.org>
3799
3800         Add the "JS" prefix to JSC specific IDL attributes
3801         https://bugs.webkit.org/show_bug.cgi?id=77693
3802
3803         Reviewed by Darin Adler.
3804
3805         Some JSC specific IDLs do not have "JS" prefix, e.g. [CustomIsReachable].
3806         It might be OK since JSC is the main JavaScript engine in WebKit, but
3807         distinguishing IDLs widely used in WebKit and IDLs used in JSC only would help
3808         people understand the role of IDLs.
3809
3810         This patch renames the following JSC specific IDLs:
3811
3812             CustomFinalize => JSCustomFinalize
3813             CustomIsReachable => JSCustomIsReachable
3814             CustomMarkFunction => JSCustomMarkFunction
3815             CustomToJS => JSCustomToJS
3816             CustomNativeConverter => JSCustomToNativeObject (Note: For naming consistency with [JSCustomToJS])
3817             GenerateIsReachable => JSGenerateIsReachable
3818             GenerateToJS => JSGenerateToJS
3819             NoStaticTables => JSNoStaticTables
3820             WindowEventListener => JSWindowEventListener
3821             InlineGetOwnPropertySlot => JSInlineGetOwnPropertySlot
3822             DelegatingPrototypePutFunction => JSCustomPrototypePutDelegate
3823
3824         No tests. No changes in behavior.
3825
3826         * bindings/scripts/CodeGeneratorJS.pm:
3827         (GenerateGetOwnPropertySlotBody):
3828         (GenerateGetOwnPropertyDescriptorBody):
3829         (GenerateHeader):
3830         (GenerateImplementation):
3831         * bindings/scripts/CodeGeneratorV8.pm:
3832         (HasCustomToV8Implementation):
3833
3834         * bindings/scripts/test/TestTypedArray.idl: No change in run-bindings-tests results.
3835
3836         * css/CSSRule.idl:
3837         * css/CSSRuleList.idl:
3838         * css/CSSStyleDeclaration.idl:
3839         * css/CSSValue.idl:
3840         * css/MediaList.idl:
3841         * css/MediaQueryListListener.idl:
3842         * css/StyleMedia.idl:
3843         * css/StyleSheet.idl:
3844         * css/StyleSheetList.idl:
3845         * dom/Attr.idl:
3846         * dom/DOMCoreException.idl:
3847         * dom/DOMImplementation.idl:
3848         * dom/DOMStringMap.idl:
3849         * dom/Document.idl:
3850         * dom/Element.idl:
3851         * dom/ErrorEvent.idl:
3852         * dom/Event.idl:
3853         * dom/EventException.idl:
3854         * dom/EventListener.idl:
3855         * dom/MessageChannel.idl:
3856         * dom/MessageEvent.idl:
3857         * dom/MessagePort.idl:
3858         * dom/NamedNodeMap.idl:
3859         * dom/Node.idl:
3860         * dom/NodeFilter.idl:
3861         * dom/NodeIterator.idl:
3862         * dom/NodeList.idl:
3863         * dom/TreeWalker.idl:
3864         * dom/WebKitNamedFlow.idl:
3865         * fileapi/Blob.idl:
3866         * fileapi/DOMFileSystem.idl:
3867         * fileapi/DOMFileSystemSync.idl:
3868         * fileapi/DirectoryEntry.idl:
3869         * fileapi/DirectoryEntrySync.idl:
3870         * fileapi/DirectoryReader.idl:
3871         * fileapi/DirectoryReaderSync.idl:
3872         * fileapi/Entry.idl:
3873         * fileapi/EntryArray.idl:
3874         * fileapi/EntryArraySync.idl:
3875         * fileapi/EntrySync.idl:
3876         * fileapi/File.idl:
3877         * fileapi/FileEntry.idl:
3878         * fileapi/FileEntrySync.idl:
3879         * fileapi/FileError.idl:
3880         * fileapi/FileException.idl:
3881         * fileapi/FileList.idl:
3882         * fileapi/FileReader.idl:
3883         * fileapi/FileReaderSync.idl:
3884         * fileapi/FileWriter.idl:
3885         * fileapi/Metadata.idl:
3886         * fileapi/OperationNotAllowedException.idl:
3887         * fileapi/WebKitBlobBuilder.idl:
3888         * html/DOMFormData.idl:
3889         * html/DOMSettableTokenList.idl:
3890         * html/DOMTokenList.idl:
3891         * html/DOMURL.idl:
3892         * html/HTMLAllCollection.idl:
3893         * html/HTMLBodyElement.idl:
3894         * html/HTMLCollection.idl:
3895         * html/HTMLFrameSetElement.idl:
3896         * html/ImageData.idl:
3897         * html/MediaController.idl:
3898         * html/TextTrack.idl:
3899         * html/TextTrackCue.idl:
3900         * html/VoidCallback.idl:
3901         * html/canvas/ArrayBuffer.idl:
3902         * html/canvas/ArrayBufferView.idl:
3903         * html/canvas/CanvasRenderingContext.idl:
3904         * html/canvas/DataView.idl:
3905         * html/canvas/Float32Array.idl:
3906         * html/canvas/Float64Array.idl:
3907         * html/canvas/Int16Array.idl:
3908         * html/canvas/Int32Array.idl:
3909         * html/canvas/Int8Array.idl:
3910         * html/canvas/OESStandardDerivatives.idl:
3911         * html/canvas/OESTextureFloat.idl:
3912         * html/canvas/OESVertexArrayObject.idl:
3913         * html/canvas/Uint16Array.idl:
3914         * html/canvas/Uint32Array.idl:
3915         * html/canvas/Uint8Array.idl:
3916         * html/canvas/Uint8ClampedArray.idl:
3917         * html/canvas/WebGLCompressedTextures.idl:
3918         * html/canvas/WebGLDebugRendererInfo.idl:
3919         * html/canvas/WebGLDebugShaders.idl:
3920         * html/canvas/WebGLLoseContext.idl:
3921         * html/canvas/WebGLRenderingContext.idl:
3922         * html/track/TextTrackList.idl:
3923         * loader/appcache/DOMApplicationCache.idl:
3924         * mediastream/LocalMediaStream.idl:
3925         * page/BarInfo.idl:
3926         * page/Console.idl:
3927         * page/DOMSelection.idl:
3928         * page/DOMWindow.idl:
3929         * page/EventSource.idl:
3930         * page/Geolocation.idl:
3931         * page/History.idl:
3932         * page/Location.idl:
3933         * page/Navigator.idl:
3934         * page/Screen.idl:
3935         * page/WorkerNavigator.idl:
3936         * plugins/DOMMimeTypeArray.idl:
3937         * plugins/DOMPluginArray.idl:
3938         * storage/Database.idl:
3939         * storage/DatabaseSync.idl:
3940         * storage/IDBAny.idl:
3941         * storage/IDBKey.idl:
3942         * storage/SQLError.idl:
3943         * storage/SQLException.idl:
3944         * storage/SQLResultSet.idl:
3945         * storage/SQLResultSetRowList.idl:
3946         * storage/SQLTransaction.idl:
3947         * storage/SQLTransactionSync.idl:
3948         * storage/Storage.idl:
3949         * svg/SVGElementInstance.idl:
3950         * svg/SVGPathSeg.idl:
3951         * webaudio/AudioBufferCallback.idl:
3952         * webaudio/AudioBufferSourceNode.idl:
3953         * webaudio/AudioContext.idl:
3954         * webaudio/AudioDestinationNode.idl:
3955         * webaudio/AudioGain.idl:
3956         * webaudio/AudioGainNode.idl:
3957         * webaudio/AudioPannerNode.idl:
3958         * webaudio/AudioProcessingEvent.idl:
3959         * webaudio/BiquadFilterNode.idl:
3960         * webaudio/ConvolverNode.idl:
3961         * webaudio/DelayNode.idl:
3962         * webaudio/DynamicsCompressorNode.idl:
3963         * webaudio/HighPass2FilterNode.idl:
3964         * webaudio/JavaScriptAudioNode.idl:
3965         * webaudio/LowPass2FilterNode.idl:
3966         * webaudio/MediaElementAudioSourceNode.idl:
3967         * webaudio/OfflineAudioCompletionEvent.idl:
3968         * webaudio/RealtimeAnalyserNode.idl:
3969         * webaudio/WaveShaperNode.idl:
3970         * websockets/CloseEvent.idl:
3971         * websockets/WebSocket.idl:
3972         * workers/AbstractWorker.idl:
3973         * workers/DedicatedWorkerContext.idl:
3974         * workers/SharedWorker.idl:
3975         * workers/SharedWorkerContext.idl:
3976         * workers/Worker.idl:
3977         * workers/WorkerContext.idl:
3978         * workers/WorkerLocation.idl:
3979         * xml/XMLHttpRequest.idl:
3980         * xml/XMLHttpRequestException.idl:
3981         * xml/XMLHttpRequestProgressEvent.idl:
3982         * xml/XMLHttpRequestUpload.idl:
3983         * xml/XPathResult.idl:
3984
3985 2012-02-04  Emil A Eklund  <eae@chromium.org>
3986
3987         Convert RenderTheme over to new layout abstraction
3988         https://bugs.webkit.org/show_bug.cgi?id=77783
3989
3990         Reviewed by Eric Seidel.
3991
3992         Change the RenderTheme classes to use the new layout abstraction as a
3993         part of the ongoing conversion work.
3994
3995         No new tests.
3996
3997         * rendering/RenderTheme.cpp:
3998         (WebCore::RenderTheme::paint):
3999         (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
4000         (WebCore::RenderTheme::baselinePosition):
4001         (WebCore::RenderTheme::adjustRepaintRect):
4002         (WebCore::RenderTheme::meterSizeForBounds):
4003         * rendering/RenderTheme.h:
4004         (RenderTheme):
4005         (WebCore::RenderTheme::paintCapsLockIndicator):
4006         * rendering/RenderThemeChromiumMac.h:
4007         (RenderThemeChromiumMac):
4008         * rendering/RenderThemeChromiumMac.mm:
4009         (WebCore::RenderThemeChromiumMac::volumeSliderOffsetFromMuteButton):
4010         * rendering/RenderThemeChromiumSkia.cpp:
4011         (WebCore::RenderThemeChromiumSkia::convertToPaintingRect):
4012         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
4013         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
4014         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
4015         * rendering/RenderThemeChromiumSkia.h:
4016         * rendering/RenderThemeMac.h:
4017         (RenderThemeMac):
4018         * rendering/RenderThemeMac.mm:
4019         (WebCore::RenderThemeMac::adjustRepaintRect):
4020         (WebCore::RenderThemeMac::inflateRect):
4021         (WebCore::RenderThemeMac::setControlSize):
4022         (WebCore::RenderThemeMac::paintCapsLockIndicator):
4023         (WebCore::RenderThemeMac::paintMenuList):
4024         (WebCore::RenderThemeMac::meterSizeForBounds):
4025         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
4026         (WebCore::RenderThemeMac::setPopupButtonCellState):
4027         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
4028         (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton):
4029         * rendering/RenderThemeSafari.cpp:
4030         (WebCore::RenderThemeSafari::baselinePosition):
4031         * rendering/RenderThemeSafari.h:
4032         (RenderThemeSafari):
4033         * rendering/RenderThemeWin.cpp:
4034         (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
4035         (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
4036         (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
4037         (WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton):
4038         * rendering/RenderThemeWin.h:
4039         (RenderThemeWin):
4040
4041 2012-02-04  Stephen White  <senorblanco@chromium.org>
4042
4043         [chromium] Fix multi-second hangs in compositor invalidating large layers
4044         https://bugs.webkit.org/show_bug.cgi?id=77774
4045
4046         Reviewed by James Robinson.
4047
4048         Correctness covered by existing tests.
4049
4050         * platform/graphics/chromium/TiledLayerChromium.cpp:
4051         (WebCore::TiledLayerChromium::pushPropertiesTo):
4052         Remove tiles from the tiler when they are invalid (ie., no longer have
4053         texture backing).
4054         (WebCore::TiledLayerChromium::invalidateRect):
4055         Instead of iterating over the tile indices (which may be very large),
4056         iterate over the tile hash map instead.
4057
4058 2012-02-04  Swapna P  <spottabathini@innominds.com>
4059
4060         Reviewed by Antonio Gomes.
4061         
4062         Bug: iframe with scrolling=no incorrectly autoscrollable
4063         https://bugs.webkit.org/show_bug.cgi?id=61558
4064         
4065         Added check for frame scrolling mode just before applying scroll on frame content in function RenderLayer::scrollRect
4066         
4067         Testcase: LayoutTests/fast/events/autoscroll-with-non-scrollable-parent.html
4068         
4069         * rendering/RenderLayer.cpp:
4070         (WebCore::RenderLayer::scrollRectToVisible):
4071
4072 2012-02-03  Tim Horton  <timothy_horton@apple.com>
4073
4074         Canvas-into-canvas drawing should respect backing store scale ratio
4075         https://bugs.webkit.org/show_bug.cgi?id=77784
4076         <rdar://problem/10549729>
4077
4078         Reviewed by Dan Bernstein.
4079
4080         Respect the backing store scale ratio when drawing a canvas into another
4081         canvas via ctx.drawImage(canvas, x, y). Previous behavior caused canvas
4082         drawing to differ based on the size of the backing store, which is ideally
4083         an implementation detail to authors.
4084
4085         Also, rename the source canvas arguments to CanvasRenderingContext2D::drawImage
4086         to be more clear.
4087
4088         No new tests.
4089
4090         * html/canvas/CanvasRenderingContext2D.cpp:
4091         (WebCore::CanvasRenderingContext2D::drawImage):
4092
4093 2012-02-03  Beth Dakin  <bdakin@apple.com>
4094
4095         https://bugs.webkit.org/show_bug.cgi?id=77782
4096         WebPageProxy::didNewFirstVisuallyNonEmptyLayout should is called more than 
4097         once on some pages with frames
4098         -and corresponding-
4099         <rdar://problem/10798474>
4100
4101         Reviewed by Sam Weinig.
4102
4103         startCountingRelevantRepaintedObjects() should only be called for the main 
4104         frame. Otherwise, the counter will be re-set inappropriately, and 
4105         didNewFirstVisuallyNonEmptyLayout may even end up firing more than once. 
4106         * page/FrameView.cpp:
4107         (WebCore::FrameView::performPostLayoutTasks):
4108
4109 2012-02-03  Benjamin Poulain  <bpoulain@apple.com>
4110
4111         Reduce the memory allocations of WebCore's cssPropertyName()
4112         https://bugs.webkit.org/show_bug.cgi?id=74782
4113
4114         Reviewed by Geoffrey Garen.
4115
4116         Add a fast path to avoid the use of the StringBuilder.
4117
4118         The string builder is needed for two cases:
4119         -CSS prefix (the character after the prefix must be uppercase)
4120         -JavaScript CamelCase name for CSS properties
4121
4122         We can skip all memory allocations if the property is not in those
4123         two cases. We start by testing the string for uppercase characters,
4124         and just return the an identical string.
4125
4126         This patch create a "fast case" 2.7 times faster than previously.
4127         The "slow case" is 2-3% slower due to the additional check at the beginning.
4128
4129         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
4130         (WebCore):
4131         (WebCore::containsASCIIUpperChar):