auto margins on flexbox should allocate space in the cross direction
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-05-23  Tony Chang  <tony@chromium.org>
2
3         auto margins on flexbox should allocate space in the cross direction
4         https://bugs.webkit.org/show_bug.cgi?id=86913
5
6         Reviewed by Ojan Vafai.
7
8         Test: css3/flexbox/auto-margins.html
9
10         * rendering/RenderFlexibleBox.cpp:
11         (WebCore::RenderFlexibleBox::hasAutoMarginsInCrossAxis):
12         (WebCore):
13         (WebCore::RenderFlexibleBox::updateAutoMarginsInCrossAxis):
14         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): If we have flex-align: baseline and auto margins, we ignore flex-align: baseline.
15         (WebCore::RenderFlexibleBox::alignChildren): auto margins apply before flex-align.
16         * rendering/RenderFlexibleBox.h:
17
18 2012-05-23  Kentaro Hara  <haraken@chromium.org>
19
20         Unreviewed, rolling out r118120.
21         http://trac.webkit.org/changeset/118120
22         https://bugs.webkit.org/show_bug.cgi?id=87193
23
24         some LayoutTests crash since the patch passes a NULL to
25         Null(isolate)
26
27         * bindings/scripts/CodeGeneratorV8.pm:
28         (GenerateHeader):
29         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
30         (WebCore::toV8):
31         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
32         (WebCore::toV8):
33         * bindings/scripts/test/V8/V8TestEventConstructor.h:
34         (WebCore::toV8):
35         * bindings/scripts/test/V8/V8TestEventTarget.h:
36         (WebCore::toV8):
37         * bindings/scripts/test/V8/V8TestException.h:
38         (WebCore::toV8):
39         * bindings/scripts/test/V8/V8TestInterface.h:
40         (WebCore::toV8):
41         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
42         (WebCore::toV8):
43         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
44         (WebCore::toV8):
45         * bindings/scripts/test/V8/V8TestNode.h:
46         (WebCore::toV8):
47         * bindings/scripts/test/V8/V8TestObj.h:
48         (WebCore::toV8):
49         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
50         (WebCore::toV8):
51
52 2012-05-23  Kentaro Hara  <haraken@chromium.org>
53
54         Unreviewed, rolling out r118129.
55         http://trac.webkit.org/changeset/118129
56         https://bugs.webkit.org/show_bug.cgi?id=87202
57
58         some LayoutTests crash since the patch passes a NULL to
59         Null(isolate)
60
61         * bindings/scripts/CodeGeneratorV8.pm:
62         (GenerateNormalAttrGetter):
63         (GenerateFunctionCallback):
64         (NativeToJSValue):
65         * bindings/scripts/test/V8/V8TestObj.cpp:
66         (WebCore::TestObjV8Internal::contentDocumentAttrGetter):
67         (WebCore::TestObjV8Internal::getSVGDocumentCallback):
68         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
69         (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrGetter):
70         (WebCore::TestSerializedScriptValueInterfaceV8Internal::readonlyValueAttrGetter):
71         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetter):
72         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetter):
73
74 2012-05-23  Kentaro Hara  <haraken@chromium.org>
75
76         Unreviewed, rolling out r118133.
77         http://trac.webkit.org/changeset/118133
78         https://bugs.webkit.org/show_bug.cgi?id=87207
79
80         some LayoutTests crash since the patch passes a NULL to
81         Null(isolate)
82
83         * bindings/v8/custom/V8BlobCustom.cpp:
84         (WebCore::toV8):
85         * bindings/v8/custom/V8CSSRuleCustom.cpp:
86         (WebCore::toV8):
87         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
88         (WebCore::toV8):
89         * bindings/v8/custom/V8CSSValueCustom.cpp:
90         (WebCore::toV8):
91         * bindings/v8/custom/V8ClipboardCustom.cpp:
92         (WebCore::V8Clipboard::typesAccessorGetter):
93         * bindings/v8/custom/V8CoordinatesCustom.cpp:
94         (WebCore::V8Coordinates::altitudeAccessorGetter):
95         (WebCore::V8Coordinates::altitudeAccuracyAccessorGetter):
96         (WebCore::V8Coordinates::headingAccessorGetter):
97         (WebCore::V8Coordinates::speedAccessorGetter):
98         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
99         (WebCore::toV8):
100         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
101         (WebCore::toV8):
102         * bindings/v8/custom/V8DOMWindowCustom.cpp:
103         (WebCore::toV8):
104         * bindings/v8/custom/V8DataViewCustom.cpp:
105         (WebCore::toV8):
106         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
107         (WebCore::V8DeviceMotionEvent::accelerationAccessorGetter):
108         (WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAccessorGetter):
109         (WebCore::V8DeviceMotionEvent::rotationRateAccessorGetter):
110         (WebCore::V8DeviceMotionEvent::intervalAccessorGetter):
111         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
112         (WebCore::V8DeviceOrientationEvent::alphaAccessorGetter):
113         (WebCore::V8DeviceOrientationEvent::betaAccessorGetter):
114         (WebCore::V8DeviceOrientationEvent::gammaAccessorGetter):
115         (WebCore::V8DeviceOrientationEvent::absoluteAccessorGetter):
116         * bindings/v8/custom/V8DocumentCustom.cpp:
117         (WebCore::toV8):
118         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
119         (WebCore::V8Document::locationAccessorGetter):
120         * bindings/v8/custom/V8EntryCustom.cpp:
121         (WebCore::toV8):
122         * bindings/v8/custom/V8EntrySyncCustom.cpp:
123         (WebCore::toV8):
124         * bindings/v8/custom/V8EventCustom.cpp:
125         (WebCore::toV8):
126         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
127         (WebCore::toV8):
128         * bindings/v8/custom/V8Float64ArrayCustom.cpp:
129         (WebCore::toV8):
130         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
131         (WebCore::V8HTMLCanvasElement::getContextCallback):
132         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
133         (WebCore::toV8):
134
135 2012-05-23  Kentaro Hara  <haraken@chromium.org>
136
137         Unreviewed, rolling out r118134.
138         http://trac.webkit.org/changeset/118134
139         https://bugs.webkit.org/show_bug.cgi?id=87209
140
141         some LayoutTests crash since the patch passes a NULL to
142         Null(isolate)
143
144         * bindings/v8/custom/V8HTMLElementCustom.cpp:
145         (WebCore::toV8Object):
146         (WebCore::toV8):
147         * bindings/v8/custom/V8HistoryCustom.cpp:
148         (WebCore::V8History::stateAccessorGetter):
149         * bindings/v8/custom/V8IDBAnyCustom.cpp:
150         (WebCore::toV8):
151         * bindings/v8/custom/V8IDBKeyCustom.cpp:
152         (WebCore::toV8):
153         * bindings/v8/custom/V8ImageDataCustom.cpp:
154         (WebCore::toV8):
155         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
156         (WebCore::toV8):
157         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
158         (WebCore::toV8):
159         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
160         (WebCore::toV8):
161         * bindings/v8/custom/V8LocationCustom.cpp:
162         (WebCore::toV8):
163         * bindings/v8/custom/V8MessageEventCustom.cpp:
164         (WebCore::V8MessageEvent::dataAccessorGetter):
165         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
166         (WebCore::toV8):
167         * bindings/v8/custom/V8NodeCustom.cpp:
168         (WebCore::V8Node::insertBeforeCallback):
169         (WebCore::V8Node::replaceChildCallback):
170         (WebCore::V8Node::removeChildCallback):
171         (WebCore::V8Node::appendChildCallback):
172         (WebCore::toV8Slow):
173         * bindings/v8/custom/V8PopStateEventCustom.cpp:
174         (WebCore::V8PopStateEvent::stateAccessorGetter):
175         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
176         (WebCore::V8SQLResultSetRowList::itemCallback):
177         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
178         (WebCore::toV8):
179         * bindings/v8/custom/V8SVGElementCustom.cpp:
180         (WebCore::toV8):
181         * bindings/v8/custom/V8SVGPathSegCustom.cpp:
182         (WebCore::toV8):
183         * bindings/v8/custom/V8ScriptProfileCustom.cpp:
184         (WebCore::toV8):
185         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
186         (WebCore::toV8):
187         * bindings/v8/custom/V8StyleSheetCustom.cpp:
188         (WebCore::toV8):
189         * bindings/v8/custom/V8TrackEventCustom.cpp:
190         (WebCore::V8TrackEvent::trackAccessorGetter):
191         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
192         (WebCore::toV8):
193         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
194         (WebCore::toV8):
195         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
196         (WebCore::toV8):
197         * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
198         (WebCore::toV8):
199         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
200         (WebCore::toV8Object):
201         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
202         (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):
203         * bindings/v8/custom/V8WorkerContextCustom.cpp:
204         (WebCore::toV8):
205
206 2012-05-23  James Robinson  <jamesr@chromium.org>
207
208         Add a Setting to make position:fixed form a new stacking context
209         https://bugs.webkit.org/show_bug.cgi?id=87186
210
211         Reviewed by Adam Barth.
212
213         position:fixed elements form a new stacking context in several mobile WebKit ports and in the Qt port always. To
214         be consistent across devices, we want to try turning it on everywhere. This will likely cause compatibility
215         issues, so we need a runtime setting in order to stage the change carefully.
216
217         Tests: fast/block/positioning/fixed-position-stacking-context.html
218                fast/block/positioning/fixed-position-stacking-context2.html
219
220         * css/StyleResolver.cpp:
221         (WebCore::StyleResolver::collectMatchingRulesForList):
222         * page/Settings.cpp:
223         (WebCore::Settings::Settings):
224         * page/Settings.h:
225         (WebCore::Settings::setFixedPositionCreatesStackingContext):
226         (WebCore::Settings::fixedPositionCreatesStackingContext):
227         (Settings):
228         * testing/InternalSettings.cpp:
229         (WebCore::InternalSettings::InternalSettings):
230         (WebCore::InternalSettings::restoreTo):
231         (WebCore::InternalSettings::setFixedPositionCreatesStackingContext):
232         (WebCore):
233         * testing/InternalSettings.h:
234         (InternalSettings):
235         * testing/InternalSettings.idl:
236
237 2012-05-23  Michael Nordman  <michaeln@google.com>
238
239         [chromium] DomStorage events handling needs TLC (3)
240         https://bugs.webkit.org/show_bug.cgi?id=87031
241         https://code.google.com/p/chromium/issues/detail?id=128482
242         Create WebCore::Storage instances as a side effect of attaching storage event handlers.
243         This allows storage events in chromium to be propagated with less IPC chatter.
244
245         Worth noting that in non-chromium ports, creation of the localStorage instance can have
246         an additional side effect of scheduling a background task to read the area's values
247         from disk, which given the interest in events is probably a beneficial side effect.
248
249         Reviewed by Adam Barth.
250
251         No new tests. Existing tests cover this.
252
253         * page/DOMWindow.cpp:
254         (WebCore::didAddStorageEventListener):
255         (WebCore::DOMWindow::addEventListener):
256
257 2012-05-23  Michael Saboff  <msaboff@apple.com>
258
259         Crash in fast/files/read tests during Garbage Collection
260         https://bugs.webkit.org/show_bug.cgi?id=87165
261
262         Reviewed by Alexey Proskuryakov.
263
264         Changed hasPendingActivity() processing to use ActiveDOMObject::hasPendingActivity()
265         and associated setPendingActivity() / unsetPendingActivity().
266
267         Fixed two existing tests with change.
268
269         * Modules/filesystem/FileWriter.cpp:
270         (WebCore::FileWriter::stop):
271         (WebCore::FileWriter::write):
272         (WebCore::FileWriter::truncate):
273         (WebCore::FileWriter::signalCompletion):
274         * Modules/filesystem/FileWriter.h:
275         * fileapi/FileReader.cpp:
276         (WebCore::FileReader::readInternal):
277         (WebCore::FileReader::doAbort):
278         (WebCore::FileReader::didFinishLoading):
279         (WebCore::FileReader::didFail):
280         * fileapi/FileReader.h:
281
282 2012-05-23  Abhishek Arya  <inferno@chromium.org>
283
284         Crash in run-ins with continuations while moving back to original position.
285         https://bugs.webkit.org/show_bug.cgi?id=87264
286
287         Reviewed by Julien Chaffraix.
288
289         Run-in that are now placed in sibling block can break up into continuation
290         chains when new children are added to it. We cannot easily send them back to their
291         original place since that requires writing integration logic with RenderInline::addChild
292         and all other places that might cause continuations to be created (without blowing away
293         |this|). Disabling this feature for now to prevent crashes.
294
295         Test: fast/runin/runin-continuations-crash.html
296
297         * rendering/RenderBlock.cpp:
298         (WebCore::RenderBlock::moveRunInToOriginalPosition):
299
300 2012-05-23  Abhishek Arya  <inferno@chromium.org>
301
302         Crash in RenderInline::linesVisualOverflowBoundingBox.
303         https://bugs.webkit.org/show_bug.cgi?id=85804
304
305         Reviewed by Dave Hyatt.
306
307         Defer layout of replaced elements to the next line break function.
308         We shouldn't do it while we are clearing our inline chilren
309         lineboxes in full layout mode.
310
311         Test: fast/block/inline-children-root-linebox-crash.html
312
313         * rendering/RenderBlockLineLayout.cpp:
314         (WebCore::RenderBlock::layoutInlineChildren):
315         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
316
317 2012-05-23  Chris Rogers  <crogers@google.com>
318
319         AudioParam must support fan-in (multiple audio connections) (take 2)
320         https://bugs.webkit.org/show_bug.cgi?id=83610
321
322         Reviewed by Kenneth Russell.
323         
324         This re-lands bug: https://bugs.webkit.org/show_bug.cgi?id=83610
325         Now that a fix has been landed: http://trac.webkit.org/changeset/118099
326
327         Test: webaudio/audioparam-summingjunction.html
328
329         * Modules/webaudio/AudioParam.cpp:
330         * Modules/webaudio/AudioParam.h:
331         (WebCore::AudioParam::calculateSampleAccurateValues):
332         (WebCore::AudioParam::calculateAudioRateSignalValues):
333         Sums intrinsic parameter value with all audio-rate connections.
334         
335         (WebCore::AudioParam::connect):
336         (WebCore::AudioParam::disconnect):
337         Support multiple connections.
338         
339         (WebCore::AudioParam::hasSampleAccurateValues):
340         If we have one or more audio-rate connections.
341         
342         (WebCore::AudioParam::AudioParam):
343         AudioParam now sub-classes AudioSummingJunction.
344
345 2012-05-23  Christophe Dumez  <christophe.dumez@intel.com>
346
347         [EFL] webintents/web-intents-delivery-reuse.html is failing on EFL port
348         https://bugs.webkit.org/show_bug.cgi?id=87092
349
350         Reviewed by Adam Barth.
351
352         Remove readonly keyword from the webkitIntent attribute. This is
353         needed otherwise the [Replaceable] extended attribute has not effect
354         with JSC. This is tested by webintents/web-intents-delivery-reuse.html
355         test case.
356
357         * Modules/intents/DOMWindowIntents.idl:
358
359 2012-05-23  Abhishek Arya  <inferno@chromium.org>
360
361         ASSERT failure toRenderProgress in HTMLProgressElement::didElementStateChange
362         https://bugs.webkit.org/show_bug.cgi?id=87274
363
364         Reviewed by Darin Adler.
365
366         Progress bar can't run-in. Prevent it from becoming a run-in, leading to an
367         unworkable RenderInline.
368
369         Test: fast/runin/progress-run-in-crash.html
370
371         * html/HTMLProgressElement.cpp:
372         (WebCore::HTMLProgressElement::didElementStateChange):
373         * rendering/RenderBlock.cpp:
374         (WebCore::RenderBlock::moveRunInUnderSiblingBlockIfNeeded):
375
376 2012-05-23  Andrew Lo  <anlo@rim.com>
377
378         [BlackBerry] UI thread unnecessarily blocks on WebKit thread when servicing requestAnimationFrames
379         https://bugs.webkit.org/show_bug.cgi?id=87289
380
381         Reviewed by Antonio Gomes.
382
383         requestAnimationFrame already covered by tests in LayoutTests/fast/animation.
384
385         If UI thread cannot acquire DisplayRefreshMonitor mutex immediately,
386         avoid blocking on the mutex, it can trigger the frame change on the next
387         animation tick instead.
388
389         * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
390         (WebCore::DisplayRefreshMonitor::displayLinkFired):
391
392 2012-05-23  Alec Flett  <alecflett@chromium.org>
393
394         Implement DOM4 DOMError
395         https://bugs.webkit.org/show_bug.cgi?id=87055
396
397         Reviewed by Adam Barth.
398
399         Implement the DOMError class and it's IDL interface.
400
401         No new tests. Not testable yet, as it's not used.
402
403         * WebCore.gypi:
404         * dom/DOMError.cpp: Added.
405         (WebCore):
406         (WebCore::DOMError::DOMError):
407         * dom/DOMError.h: Added.
408         (WebCore):
409         (DOMError):
410         (WebCore::DOMError::create):
411         (WebCore::DOMError::name):
412         * dom/DOMError.idl: Added.
413
414 2012-05-23  Kenneth Russell  <kbr@google.com>
415
416         REGRESSION(117918) - 4 webgl/tex-iomage-and-sub-image-2d-with-image tests failing on Mac bots.
417         https://bugs.webkit.org/show_bug.cgi?id=87136
418
419         Reviewed by Stephen White.
420
421         Fixed longstanding bug in GraphicsContext3D constructor in Mac
422         port, and logic error in tracking of texture bound to unit 0. Also
423         fixed up Cairo port's constructor by code inspection. This code is
424         ripe for cleanup; Bug 87198 filed for this.
425
426         Covered by existing tests.
427
428         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
429         (WebCore::GraphicsContext3D::GraphicsContext3D):
430             Initialize missing members.
431         * platform/graphics/mac/GraphicsContext3DMac.mm:
432         (WebCore::GraphicsContext3D::GraphicsContext3D):
433             Correctly initialize m_activeTexture.
434         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
435         (WebCore::GraphicsContext3D::bindTexture):
436             Fix logic error in tracking of texture bound to unit 0.
437
438 2012-05-23  Dana Jansens  <danakj@chromium.org>
439
440         [chromium] Layers on main thread should get a RenderSurface for animating transform only if masksToBounds is true also
441         https://bugs.webkit.org/show_bug.cgi?id=87184
442
443         Reviewed by James Robinson.
444
445         Layers on main thread get a RenderSurface if their impl counterpart may
446         have a RenderSurface due to its animating transform. We currently create
447         a RenderSurface for all layers with an animating transform and
448         a descendant that drawsContents. But a RenderSurface on impl also
449         implies that the layer masksToBounds. So only make a RenderSurface on
450         main thread when the layer also masksToBounds.
451
452         Modified unit test CCLayerTreeHostCommonTest.verifyAnimationsForRenderSurfaceHierarchy.
453
454         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
455         (WebCore::subtreeShouldRenderToSeparateSurface):
456
457 2012-05-23  Chris Fleizach  <cfleizach@apple.com>
458
459         Regression(r112694): Crash in WebCore::AXObjectCache::postNotification 
460         https://bugs.webkit.org/show_bug.cgi?id=86029
461
462         Reviewed by Abhishek Arya.
463
464         Test: accessibility/content-changed-notification-causes-crash.html
465
466         * accessibility/AccessibilityObject.h:
467         (WebCore::AccessibilityObject::isDetached):
468         (AccessibilityObject):
469         * accessibility/AccessibilityRenderObject.cpp:
470         (WebCore::AccessibilityRenderObject::contentChanged):
471
472 2012-05-23  Robin Dunn  <robin@alldunn.com>
473
474         [wx] Fix memory leak in FontHolder.
475         https://bugs.webkit.org/show_bug.cgi?id=87281
476
477         Reviewed by Kevin Ollivier.
478
479         * platform/graphics/wx/FontPlatformData.h:
480
481 2012-05-23  Robin Dunn  <robin@alldunn.com>
482
483         [wx] Make sure we do not create a substitute font if the facename is not found.
484         https://bugs.webkit.org/show_bug.cgi?id=87280
485
486         Reviewed by Kevin Ollivier.
487
488         * platform/graphics/wx/FontCacheWx.cpp:
489         (WebCore::FontCache::createFontPlatformData):
490
491 2012-05-23  Robin Dunn  <robin@alldunn.com>
492
493         [wx] Implement transparency layer support.
494         https://bugs.webkit.org/show_bug.cgi?id=87279
495
496         Reviewed by Kevin Ollivier.
497
498         * platform/graphics/wx/GraphicsContextWx.cpp:
499         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
500         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
501         (WebCore::GraphicsContext::supportsTransparencyLayers):
502
503 2012-05-23  Jer Noble  <jer.noble@apple.com>
504
505         GenericClock loses precision due to float->double conversion.
506         https://bugs.webkit.org/show_bug.cgi?id=87227
507
508         Reviewed by Darin Adler.
509
510         No new tests; fixes media/media-controller-time.html on Chromium.
511
512         Only narrow to float after the entire calculation is complete. This requires now() and m_offset
513         to be double-precision.
514
515         * platform/ClockGeneric.cpp:
516         (ClockGeneric::currentTime): 
517         (ClockGeneric::now): Make double-precision.
518         * platform/ClockGeneric.h:
519         (ClockGeneric): Make m_offset double-precision.
520
521 2012-05-22  Jer Noble  <jer.noble@apple.com>
522
523         PlatformClockCM has uninitialized m_rate member.
524         https://bugs.webkit.org/show_bug.cgi?id=87217
525
526         Reviewed by Eric Carlson.
527
528         Test: media/media-controller-time.html
529
530         Initialize the m_rate member to a default of 1 (second-per-second), matching the implementation
531         of ClockGeneric.
532
533         * platform/mac/PlatformClockCM.mm:
534         (PlatformClockCM::PlatformClockCM):
535
536 2012-05-23  Sheriff Bot  <webkit.review.bot@gmail.com>
537
538         Unreviewed, rolling out r118096.
539         http://trac.webkit.org/changeset/118096
540         https://bugs.webkit.org/show_bug.cgi?id=87285
541
542         caused multiple crashes on the mac bots (Requested by
543         jessieberlin on #webkit).
544
545         * dom/ContainerNodeAlgorithms.h:
546
547 2012-05-23  Darin Adler  <darin@apple.com>
548
549         Speed up traverseNextNode when called on a ContainerNode or Element
550         https://bugs.webkit.org/show_bug.cgi?id=87224
551
552         Reviewed by Geoffrey Garen.
553
554         * dom/ContainerNode.h: Added overrides of traverseNextNode for ContainerNode.
555         That way, when we know at compile time something is ContainerNode, we can
556         skip a branch at the start of this hot function.
557
558 2012-05-23  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
559
560         Use PluginDataNone.cpp always when NETSCAPE_PLUGIN_API is OFF
561         https://bugs.webkit.org/show_bug.cgi?id=87096
562
563         Reviewed by Andy Estes.
564
565         Fix a build error by adding an extra check in PluginData.cpp to use
566         PluginStrategy only when NETSCAPE_PLUGIN_API is ON.
567
568         No new tests. This is only a build fix.
569
570         * plugins/PluginData.cpp:
571         (WebCore):
572
573 2012-05-23  Malcolm MacLeod  <malcolm.macleod@tshwanedje.com>
574
575         [wx] Fix scrollbar drawing under wxGTK.
576         https://bugs.webkit.org/show_bug.cgi?id=87150
577
578         Reviewed by Kevin Ollivier.
579
580         * platform/wx/wxcode/gtk/scrollbar_render.cpp:
581         (wxRenderer_DrawScrollbar):
582
583 2012-05-23  Antti Koivisto  <antti@apple.com>
584
585         Rename StyleSheetInternal to StyleSheetContents
586         https://bugs.webkit.org/show_bug.cgi?id=87272
587
588         Reviewed by Andreas Kling.
589
590         The name is more descriptive and the code reads better.
591         
592         Plain "StyleSheet" would be good too but that is a CSSOM type and the name can't be used without
593         changing idl code generation and resolving bunch of other issues.
594
595         * css/CSSFontFaceSrcValue.cpp:
596         (WebCore::CSSFontFaceSrcValue::addSubresourceStyleURLs):
597         * css/CSSFontFaceSrcValue.h:
598         (CSSFontFaceSrcValue):
599         * css/CSSImportRule.cpp:
600         (WebCore::StyleRuleImport::setCSSStyleSheet):
601         (WebCore::StyleRuleImport::requestStyleSheet):
602         * css/CSSImportRule.h:
603         (WebCore):
604         (WebCore::StyleRuleImport::parentStyleSheet):
605         (WebCore::StyleRuleImport::setParentStyleSheet):
606         (WebCore::StyleRuleImport::styleSheet):
607         (StyleRuleImport):
608         * css/CSSMediaRule.cpp:
609         (WebCore::CSSMediaRule::insertRule):
610         * css/CSSParser.cpp:
611         (WebCore::CSSParser::parseSheet):
612         (WebCore::CSSParser::parseRule):
613         (WebCore::CSSParser::parseKeyframeRule):
614         (WebCore::CSSParser::parseValue):
615         (WebCore::CSSParser::parseSelector):
616         (WebCore::CSSParser::parseDeclaration):
617         (WebCore::CSSParser::setStyleSheet):
618         (WebCore::CSSParser::parseFlowThread):
619         * css/CSSParser.h:
620         (WebCore):
621         (CSSParser):
622         * css/CSSPrimitiveValue.cpp:
623         (WebCore::CSSPrimitiveValue::addSubresourceStyleURLs):
624         * css/CSSPrimitiveValue.h:
625         (CSSPrimitiveValue):
626         * css/CSSReflectValue.cpp:
627         (WebCore::CSSReflectValue::addSubresourceStyleURLs):
628         * css/CSSReflectValue.h:
629         (CSSReflectValue):
630         * css/CSSRule.cpp:
631         (WebCore::CSSRule::parserContext):
632         * css/CSSStyleSheet.cpp:
633         (WebCore::StyleSheetContents::estimatedSizeInBytes):
634         (WebCore::StyleSheetContents::StyleSheetContents):
635         (WebCore::StyleSheetContents::~StyleSheetContents):
636         (WebCore::StyleSheetContents::isCacheable):
637         (WebCore::StyleSheetContents::parserAppendRule):
638         (WebCore::StyleSheetContents::ruleAt):
639         (WebCore::StyleSheetContents::ruleCount):
640         (WebCore::StyleSheetContents::clearCharsetRule):
641         (WebCore::StyleSheetContents::clearRules):
642         (WebCore::StyleSheetContents::parserSetEncodingFromCharsetRule):
643         (WebCore::StyleSheetContents::wrapperInsertRule):
644         (WebCore::StyleSheetContents::wrapperDeleteRule):
645         (WebCore::StyleSheetContents::parserAddNamespace):
646         (WebCore::StyleSheetContents::determineNamespace):
647         (WebCore::StyleSheetContents::parseAuthorStyleSheet):
648         (WebCore::StyleSheetContents::parseString):
649         (WebCore::StyleSheetContents::parseStringAtLine):
650         (WebCore::StyleSheetContents::isLoading):
651         (WebCore::StyleSheetContents::checkLoaded):
652         (WebCore::StyleSheetContents::notifyLoadedSheet):
653         (WebCore::StyleSheetContents::startLoadingDynamicSheet):
654         (WebCore::StyleSheetContents::rootStyleSheet):
655         (WebCore::StyleSheetContents::singleOwnerNode):
656         (WebCore::StyleSheetContents::singleOwnerDocument):
657         (WebCore::StyleSheetContents::completeURL):
658         (WebCore::StyleSheetContents::addSubresourceStyleURLs):
659         (WebCore::StyleSheetContents::parentStyleSheet):
660         (WebCore::StyleSheetContents::registerClient):
661         (WebCore::StyleSheetContents::unregisterClient):
662         (WebCore::StyleSheetContents::addedToMemoryCache):
663         (WebCore::StyleSheetContents::removedFromMemoryCache):
664         (WebCore::CSSStyleSheet::createInline):
665         (WebCore::CSSStyleSheet::CSSStyleSheet):
666         (WebCore::CSSStyleSheet::~CSSStyleSheet):
667         (WebCore::CSSStyleSheet::willMutateRules):
668         (WebCore::CSSStyleSheet::didMutateRules):
669         (WebCore::CSSStyleSheet::reattachChildRuleCSSOMWrappers):
670         (WebCore::CSSStyleSheet::length):
671         (WebCore::CSSStyleSheet::item):
672         (WebCore::CSSStyleSheet::rules):
673         (WebCore::CSSStyleSheet::insertRule):
674         (WebCore::CSSStyleSheet::deleteRule):
675         (WebCore::CSSStyleSheet::cssRules):
676         * css/CSSStyleSheet.h:
677         (WebCore::StyleSheetContents::create):
678         (StyleSheetContents):
679         (WebCore::StyleSheetContents::copy):
680         (WebCore::CSSStyleSheet::create):
681         (WebCore::CSSStyleSheet::contents):
682         (CSSStyleSheet):
683         * css/CSSValue.cpp:
684         (WebCore::CSSValue::addSubresourceStyleURLs):
685         * css/CSSValue.h:
686         (WebCore):
687         (CSSValue):
688         * css/CSSValueList.cpp:
689         (WebCore::CSSValueList::addSubresourceStyleURLs):
690         * css/CSSValueList.h:
691         (CSSValueList):
692         * css/PropertySetCSSStyleDeclaration.cpp:
693         (WebCore::PropertySetCSSStyleDeclaration::contextStyleSheet):
694         * css/PropertySetCSSStyleDeclaration.h:
695         (WebCore):
696         (PropertySetCSSStyleDeclaration):
697         * css/StylePropertySet.cpp:
698         (WebCore::StylePropertySet::setProperty):
699         (WebCore::StylePropertySet::parseDeclaration):
700         (WebCore::StylePropertySet::addSubresourceStyleURLs):
701         * css/StylePropertySet.h:
702         (WebCore):
703         (StylePropertySet):
704         * css/StyleResolver.cpp:
705         (RuleSet):
706         (WebCore):
707         (WebCore::StyleResolver::StyleResolver):
708         (WebCore::StyleResolver::addAuthorRulesAndCollectUserRulesFromSheets):
709         (WebCore::StyleResolver::appendAuthorStylesheets):
710         (WebCore::parseUASheet):
711         (WebCore::StyleResolver::collectMatchingRulesForList):
712         * css/StyleResolver.h:
713         (StyleResolver):
714         * css/WebKitCSSKeyframesRule.cpp:
715         (WebCore::WebKitCSSKeyframesRule::insertRule):
716         * dom/DOMImplementation.cpp:
717         (WebCore::DOMImplementation::createCSSStyleSheet):
718         * dom/Document.cpp:
719         (WebCore::Document::recalcStyle):
720         (WebCore::Document::updateBaseURL):
721         (WebCore::Document::pageUserSheet):
722         (WebCore::Document::pageGroupUserSheets):
723         (WebCore::Document::addUserSheet):
724         (WebCore::Document::testAddedStylesheetRequiresStyleRecalc):
725         (WebCore::Document::analyzeStylesheetChange):
726         (WebCore::styleSheetsUseRemUnits):
727         * dom/Document.h:
728         (WebCore):
729         (Document):
730         * dom/ElementAttributeData.cpp:
731         (WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):
732         * dom/ProcessingInstruction.cpp:
733         (WebCore::ProcessingInstruction::setCSSStyleSheet):
734         (WebCore::ProcessingInstruction::parseStyleSheet):
735         * dom/StyleElement.cpp:
736         (WebCore::StyleElement::createSheet):
737         * dom/StyledElement.cpp:
738         (WebCore::StyledElement::setInlineStyleProperty):
739         (WebCore::StyledElement::addSubresourceAttributeURLs):
740         (WebCore::StyledElement::addPropertyToAttributeStyle):
741         * html/HTMLLinkElement.cpp:
742         (WebCore::HTMLLinkElement::setCSSStyleSheet):
743         (WebCore::HTMLLinkElement::styleSheetIsLoading):
744         (WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
745         * html/HTMLStyleElement.cpp:
746         (WebCore::HTMLStyleElement::addSubresourceAttributeURLs):
747         * inspector/InspectorStyleSheet.cpp:
748         (WebCore::fillMediaListChain):
749         (WebCore::InspectorStyle::setPropertyText):
750         (WebCore::InspectorStyleSheet::styleSheetURL):
751         (WebCore::InspectorStyleSheet::reparseStyleSheet):
752         (WebCore::InspectorStyleSheet::ensureSourceData):
753         (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
754         * loader/cache/CachedCSSStyleSheet.cpp:
755         (WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):
756         (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):
757         * loader/cache/CachedCSSStyleSheet.h:
758         (WebCore):
759         (CachedCSSStyleSheet):
760         * page/PageSerializer.cpp:
761         (WebCore::PageSerializer::serializeCSSStyleSheet):
762
763 2012-05-23  Darin Adler  <darin@apple.com>
764
765         Use ContainerNode instead of Node where possible
766         https://bugs.webkit.org/show_bug.cgi?id=87220
767
768         Reviewed by Geoffrey Garen.
769
770         It's better to use a more specific type; in some cases we even generate
771         more efficient code if we have a more specific type. Also, we want any
772         type casts to be as close as possible to the corresponding type checks,
773         so eliminating these uses of toContainerNode is a plus, also.
774
775         * dom/ContainerNodeAlgorithms.h: Changed insertionPoint to be a ContainerNode
776         instead of a Node. Fixed spelling error "inseretions". Changed
777         (WebCore::ChildFrameDisconnector::Target::Target): Changed type of frame owner
778         element to HTMLFrameOwnerElement from Node.
779
780         * dom/DocumentType.cpp:
781         (WebCore::DocumentType::insertedInto):
782         (WebCore::DocumentType::removedFrom):
783         * dom/DocumentType.h:
784         * dom/Element.cpp:
785         (WebCore::Element::insertedInto):
786         (WebCore::Element::removedFrom):
787         * dom/Element.h:
788         * dom/Node.cpp:
789         (WebCore::Node::insertedInto):
790         (WebCore::Node::removedFrom):
791         * dom/Node.h:
792         * dom/ProcessingInstruction.cpp:
793         (WebCore::ProcessingInstruction::insertedInto):
794         (WebCore::ProcessingInstruction::removedFrom):
795         * dom/ProcessingInstruction.h:
796         * dom/ScriptElement.cpp:
797         (WebCore::ScriptElement::insertedInto):
798         * dom/ScriptElement.h:
799         * html/FormAssociatedElement.cpp:
800         (WebCore::FormAssociatedElement::insertedInto):
801         (WebCore::FormAssociatedElement::removedFrom):
802         * html/FormAssociatedElement.h:
803         * html/HTMLBaseElement.cpp:
804         (WebCore::HTMLBaseElement::insertedInto):
805         (WebCore::HTMLBaseElement::removedFrom):
806         * html/HTMLBaseElement.h:
807         * html/HTMLBodyElement.cpp:
808         (WebCore::HTMLBodyElement::insertedInto):
809         (WebCore::HTMLBodyElement::didNotifyDescendantInsertions):
810         * html/HTMLBodyElement.h:
811         * html/HTMLFormControlElement.cpp:
812         (WebCore::HTMLFormControlElement::insertedInto):
813         (WebCore::HTMLFormControlElement::removedFrom):
814         * html/HTMLFormControlElement.h:
815         * html/HTMLFormElement.cpp:
816         (WebCore::HTMLFormElement::insertedInto):
817         (WebCore::HTMLFormElement::didNotifyDescendantInsertions):
818         (WebCore::HTMLFormElement::removedFrom):
819         * html/HTMLFormElement.h:
820         * html/HTMLFrameElementBase.cpp:
821         (WebCore::HTMLFrameElementBase::insertedInto):
822         (WebCore::HTMLFrameElementBase::didNotifyDescendantInsertions):
823         * html/HTMLFrameElementBase.h:
824         * html/HTMLFrameSetElement.cpp:
825         (WebCore::HTMLFrameSetElement::insertedInto):
826         (WebCore::HTMLFrameSetElement::removedFrom):
827         * html/HTMLFrameSetElement.h:
828         * html/HTMLIFrameElement.cpp:
829         (WebCore::HTMLIFrameElement::insertedInto):
830         (WebCore::HTMLIFrameElement::removedFrom):
831         * html/HTMLIFrameElement.h:
832         * html/HTMLImageElement.cpp:
833         (WebCore::HTMLImageElement::insertedInto):
834         (WebCore::HTMLImageElement::removedFrom):
835         * html/HTMLImageElement.h:
836         * html/HTMLInputElement.cpp:
837         (WebCore::HTMLInputElement::insertedInto):
838         (WebCore::HTMLInputElement::removedFrom):
839         * html/HTMLInputElement.h:
840         * html/HTMLLinkElement.cpp:
841         (WebCore::HTMLLinkElement::insertedInto):
842         (WebCore::HTMLLinkElement::removedFrom):
843         * html/HTMLLinkElement.h:
844         * html/HTMLMapElement.cpp:
845         (WebCore::HTMLMapElement::insertedInto):
846         (WebCore::HTMLMapElement::removedFrom):
847         * html/HTMLMapElement.h:
848         * html/HTMLMediaElement.cpp:
849         (WebCore::HTMLMediaElement::insertedInto):
850         (WebCore::HTMLMediaElement::removedFrom):
851         * html/HTMLMediaElement.h:
852         * html/HTMLMetaElement.cpp:
853         (WebCore::HTMLMetaElement::insertedInto):
854         * html/HTMLMetaElement.h:
855         * html/HTMLObjectElement.cpp:
856         (WebCore::HTMLObjectElement::insertedInto):
857         (WebCore::HTMLObjectElement::removedFrom):
858         * html/HTMLObjectElement.h:
859         * html/HTMLOptionElement.cpp:
860         (WebCore::HTMLOptionElement::insertedInto):
861         * html/HTMLOptionElement.h:
862         * html/HTMLQuoteElement.cpp:
863         (WebCore::HTMLQuoteElement::insertedInto):
864         * html/HTMLQuoteElement.h:
865         * html/HTMLScriptElement.cpp:
866         (WebCore::HTMLScriptElement::insertedInto):
867         * html/HTMLScriptElement.h:
868         * html/HTMLSelectElement.cpp:
869         (WebCore::HTMLSelectElement::insertedInto):
870         * html/HTMLSelectElement.h:
871         * html/HTMLSourceElement.cpp:
872         (WebCore::HTMLSourceElement::insertedInto):
873         (WebCore::HTMLSourceElement::removedFrom):
874         * html/HTMLSourceElement.h:
875         * html/HTMLStyleElement.cpp:
876         (WebCore::HTMLStyleElement::insertedInto):
877         (WebCore::HTMLStyleElement::removedFrom):
878         * html/HTMLStyleElement.h:
879         * html/HTMLTextFormControlElement.cpp:
880         (WebCore::HTMLTextFormControlElement::insertedInto):
881         * html/HTMLTextFormControlElement.h:
882         * html/HTMLTitleElement.cpp:
883         (WebCore::HTMLTitleElement::insertedInto):
884         (WebCore::HTMLTitleElement::removedFrom):
885         * html/HTMLTitleElement.h:
886         * html/HTMLTrackElement.cpp:
887         (WebCore::HTMLTrackElement::insertedInto):
888         (WebCore::HTMLTrackElement::removedFrom):
889         * html/HTMLTrackElement.h:
890         * mathml/MathMLMathElement.cpp:
891         (WebCore::MathMLMathElement::insertedInto):
892         * mathml/MathMLMathElement.h:
893         * svg/SVGElement.cpp:
894         (WebCore::SVGElement::removedFrom):
895         * svg/SVGElement.h:
896         * svg/SVGFEImageElement.cpp:
897         (WebCore::SVGFEImageElement::insertedInto):
898         (WebCore::SVGFEImageElement::removedFrom):
899         * svg/SVGFEImageElement.h:
900         * svg/SVGFontFaceElement.cpp:
901         (WebCore::SVGFontFaceElement::insertedInto):
902         (WebCore::SVGFontFaceElement::removedFrom):
903         * svg/SVGFontFaceElement.h:
904         * svg/SVGFontFaceUriElement.cpp:
905         (WebCore::SVGFontFaceUriElement::insertedInto):
906         * svg/SVGFontFaceUriElement.h:
907         * svg/SVGGlyphElement.cpp:
908         (WebCore::SVGGlyphElement::insertedInto):
909         (WebCore::SVGGlyphElement::removedFrom):
910         * svg/SVGGlyphElement.h:
911         * svg/SVGHKernElement.cpp:
912         (WebCore::SVGHKernElement::insertedInto):
913         (WebCore::SVGHKernElement::removedFrom):
914         * svg/SVGHKernElement.h:
915         * svg/SVGImageElement.cpp:
916         (WebCore::SVGImageElement::insertedInto):
917         * svg/SVGImageElement.h:
918         * svg/SVGSVGElement.cpp:
919         (WebCore::SVGSVGElement::insertedInto):
920         (WebCore::SVGSVGElement::removedFrom):
921         * svg/SVGSVGElement.h:
922         * svg/SVGScriptElement.cpp:
923         (WebCore::SVGScriptElement::insertedInto):
924         * svg/SVGScriptElement.h:
925         * svg/SVGStyleElement.cpp:
926         (WebCore::SVGStyleElement::insertedInto):
927         (WebCore::SVGStyleElement::removedFrom):
928         * svg/SVGStyleElement.h:
929         * svg/SVGStyledElement.cpp:
930         (WebCore::SVGStyledElement::insertedInto):
931         (WebCore::SVGStyledElement::removedFrom):
932         * svg/SVGStyledElement.h:
933         * svg/SVGTRefElement.cpp:
934         (WebCore::SVGTRefElement::insertedInto):
935         (WebCore::SVGTRefElement::removedFrom):
936         * svg/SVGTRefElement.h:
937         * svg/SVGTextPathElement.cpp:
938         (WebCore::SVGTextPathElement::insertedInto):
939         * svg/SVGTextPathElement.h:
940         * svg/SVGTitleElement.cpp:
941         (WebCore::SVGTitleElement::insertedInto):
942         (WebCore::SVGTitleElement::removedFrom):
943         * svg/SVGTitleElement.h:
944         * svg/SVGUseElement.cpp:
945         (WebCore::SVGUseElement::insertedInto):
946         (WebCore::SVGUseElement::removedFrom):
947         * svg/SVGUseElement.h:
948         * svg/SVGVKernElement.cpp:
949         (WebCore::SVGVKernElement::insertedInto):
950         (WebCore::SVGVKernElement::removedFrom):
951         * svg/SVGVKernElement.h:
952         * svg/animation/SVGSMILElement.cpp:
953         (WebCore::SVGSMILElement::insertedInto):
954         (WebCore::SVGSMILElement::removedFrom):
955         * svg/animation/SVGSMILElement.h:
956         Changed arguments of insertedInto and removedFrom to ContainerNode instead of Node.
957         Did the same with didNotifyDescendantInsertions, while fixing the typo in its name.
958
959         * editing/ReplaceSelectionCommand.cpp:
960         (WebCore::ReplaceSelectionCommand::doApply): Put a typecast toHTMLElement here.
961         The check for isListElement and isLegacyAppleStyleSpan takes care of the type checking.
962         (WebCore::ReplaceSelectionCommand::insertAsListItems): Changed this function to take
963         an HTMLElement instead of a Node, then we can drop use of the toContainerNode function.
964         * editing/ReplaceSelectionCommand.h:
965
966         * editing/TextIterator.cpp: Fixed a typo in a comment.
967
968 2012-05-23  Alexei Filippov  <alexeif@chromium.org>
969
970         Web Inspector: filter out debugging stuff from the heap class view
971         https://bugs.webkit.org/show_bug.cgi?id=86723
972
973         We mark objects that are accessible from user roots (e.g. Window)
974         with pageObject attribute. This fix filters out all non-pageObjects
975         from the classes view.
976
977         Reviewed by Yury Semikhatsky.
978
979         * inspector/front-end/HeapSnapshot.js:
980         (WebInspector.HeapSnapshotNode.prototype.isPageObject):
981         (WebInspector.HeapSnapshot.prototype._buildAggregates):
982         (WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize):
983         (WebInspector.HeapSnapshot.prototype._buildPostOrderIndex):
984         (WebInspector.HeapSnapshot.prototype._markPageOwnedNodes):
985         (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
986
987 2012-05-23  Andrei Bucur  <abucur@adobe.com>
988
989         [CSSRegions]Implement NamedFlow::name attribute
990         https://bugs.webkit.org/show_bug.cgi?id=79645
991
992         Implementation for the NamedFlow::name attribute per the CSS Regions WD 3-May-2012 recommendation:
993         http://www.w3.org/TR/2012/WD-css3-regions-20120503/
994
995         Reviewed by Andreas Kling.
996
997         Test: fast/regions/webkit-named-flow-name.html
998
999         * dom/WebKitNamedFlow.cpp:
1000         (WebCore::WebKitNamedFlow::name):
1001         (WebCore):
1002         * dom/WebKitNamedFlow.h:
1003         (WebKitNamedFlow):
1004         * dom/WebKitNamedFlow.idl:
1005
1006 2012-05-23  Andreas Kling  <kling@webkit.org>
1007
1008         Let the compiler generate FontFamily's copy ctor and assignment operator.
1009
1010         Blindly rubberstamped by the brave Antti Koivisto.
1011
1012         * platform/graphics/FontFamily.cpp:
1013         * platform/graphics/FontFamily.h:
1014
1015 2012-05-23  Andreas Kling  <kling@webkit.org>
1016
1017         CSSParser: Simplify StylePropertySet creation.
1018         <http://webkit.org/b/87259>
1019
1020         Reviewed by Alexis Menard.
1021
1022         Turn CSSParser's filteredProperties() into createStylePropertySet() which filters the parsed
1023         properties and creates a new StylePropertySet, adopting the vector to avoid the Vector copy we
1024         were previously incurring.
1025
1026         Added a StylePropertyVector typedef for Vector<CSSProperty, 4> since we need to pass this type
1027         to the constructor for Vector::swap() to work.
1028
1029         And thus StylePropertySet::create(const Vector<CSSProperty>&, CSSParserMode) became
1030         StylePropertySet::adopt(StylePropertyVector&, CSSParserMode).
1031
1032         * css/CSSComputedStyleDeclaration.cpp:
1033         (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
1034         * css/CSSParser.cpp:
1035         (WebCore::CSSParser::createStylePropertySet):
1036         (WebCore::CSSParser::createStyleRule):
1037         (WebCore::CSSParser::createFontFaceRule):
1038         (WebCore::CSSParser::createPageRule):
1039         (WebCore::CSSParser::createKeyframe):
1040         * css/CSSParser.h:
1041         * css/StylePropertySet.cpp:
1042         (WebCore::StylePropertySet::StylePropertySet):
1043         (WebCore::StylePropertySet::removePropertiesInSet):
1044         (WebCore::StylePropertySet::copyPropertiesInSet):
1045         (SameSizeAsStylePropertySet):
1046         * css/StylePropertySet.h:
1047         (WebCore::StylePropertySet::adopt):
1048         (StylePropertySet):
1049
1050 2012-05-23  Andreas Kling  <kling@webkit.org>
1051
1052         Kill some frivolous null-checking of Element::m_attributeData.
1053         <http://webkit.org/b/87248>
1054
1055         Reviewed by Antti Koivisto.
1056
1057         Replace unnecessary Element::m_attributeData with assertions where it makes sense.
1058         Others are flat out removed because it should be obvious from context that it's non-null.
1059         E.g if an attribute has changed, we're obviously storing it somewhere.
1060
1061         Also added a short-circuit to Element::normalize() if there are no Attr objects
1062         associated with the element.
1063
1064         * dom/Element.cpp:
1065         (WebCore::Element::~Element):
1066         (WebCore::Element::attributeChanged):
1067         (WebCore::Element::insertedInto):
1068         (WebCore::Element::removedFrom):
1069         (WebCore::Element::removeAttributeNode):
1070         (WebCore::Element::normalizeAttributes):
1071         * dom/StyledElement.cpp:
1072         (WebCore::StyledElement::classAttributeChanged):
1073
1074 2012-05-23  Andreas Kling  <kling@webkit.org>
1075
1076         Let Element::detachAttribute() handle removal of the attribute.
1077         <http://webkit.org/b/87242>
1078
1079         Reviewed by Antti Koivisto.
1080
1081         All the call sites were removing the attribute after detaching it, so move
1082         that into detachAttribute(). The function name already made it sound like it
1083         removes the attribute anyway.
1084
1085         Also sprinkle some assertions wrt being called with guaranteed presence of
1086         attributeData() and the provided index in the attribute vector.
1087
1088         * dom/Element.cpp:
1089         (WebCore::Element::detachAttribute):
1090         (WebCore::Element::removeAttributeNode):
1091         * dom/NamedNodeMap.cpp:
1092         (WebCore::NamedNodeMap::removeNamedItem):
1093         (WebCore::NamedNodeMap::removeNamedItemNS):
1094
1095 2012-05-23  Andreas Kling  <kling@webkit.org>
1096
1097         Streamline Element teardown for the no-Attr-objects case.
1098         <http://webkit.org/b/87228>
1099
1100         Reviewed by Antti Koivisto.
1101
1102         Dodge one function call in ~Element() if the element has no Attr objects
1103         associated (the typical case.)
1104
1105         Renamed detachAttributes to detachAttrObjectsFromElement to reduce ambiguity.
1106
1107         * dom/Element.cpp:
1108         (WebCore::Element::~Element):
1109         * dom/ElementAttributeData.cpp:
1110         (WebCore::ElementAttributeData::detachAttrObjectsFromElement):
1111         (WebCore::ElementAttributeData::clearAttributes):
1112         * dom/ElementAttributeData.h:
1113         (ElementAttributeData):
1114
1115 2012-05-23  Jochen Eisinger  <jochen@chromium.org>
1116
1117         Fix incomplete switch statement in CSSParser after r118082
1118         https://bugs.webkit.org/show_bug.cgi?id=87250
1119
1120         Reviewed by Alexis Menard.
1121
1122         * css/CSSParser.cpp:
1123         (WebCore::CSSParser::parseValue):
1124
1125 2012-05-23  Sheriff Bot  <webkit.review.bot@gmail.com>
1126
1127         Unreviewed, rolling out r118105.
1128         http://trac.webkit.org/changeset/118105
1129         https://bugs.webkit.org/show_bug.cgi?id=87255
1130
1131         New LayoutTest is causing several cookie tests to fail on
1132         numerous bots (Requested by steveblock on #webkit).
1133
1134         * platform/blackberry/CookieJarBlackBerry.cpp:
1135         (WebCore::setCookies):
1136         * platform/blackberry/CookieManager.cpp:
1137         (WebCore::CookieManager::setCookies):
1138         (WebCore::CookieManager::checkAndTreatCookie):
1139         (WebCore::CookieManager::addCookieToMap):
1140         (WebCore::CookieManager::setPrivateMode):
1141         (WebCore):
1142         * platform/blackberry/CookieManager.h:
1143         * platform/blackberry/CookieMap.cpp:
1144         (WebCore::CookieMap::addOrReplaceCookie):
1145         (WebCore::CookieMap::removeCookie):
1146         * platform/blackberry/CookieMap.h:
1147         (CookieMap):
1148
1149 2012-05-23  Zan Dobersek  <zandobersek@gmail.com>
1150
1151         [Gtk] EventSender should properly handle (left|right)(control|shift|alt) after r118001
1152         https://bugs.webkit.org/show_bug.cgi?id=87221
1153
1154         Reviewed by Martin Robinson.
1155
1156         No new tests - covered by fast/events/keydown-leftright-keys.html.
1157
1158         Windows key code for shift, control and alt keys should respect the
1159         left or right position of that key. This way the DOM location code of
1160         a key event is properly determined for these keys.
1161
1162         * platform/gtk/PlatformKeyboardEventGtk.cpp:
1163         (WebCore::PlatformKeyboardEvent::windowsKeyCodeForGdkKeyCode):
1164
1165 2012-05-23  Ilya Tikhonovsky  <loislo@chromium.org>
1166
1167         Web Inspector: eliminate getters from HeapSnapshot.js
1168         https://bugs.webkit.org/show_bug.cgi?id=87241
1169
1170         getters can't be inlined by engine at the moment.
1171         I found that conversion getters into functions gives us about 600 ms
1172
1173         RESULT heap-snapshot: switch-to-containment-view= 1920 ms
1174         vs
1175         RESULT heap-snapshot: switch-to-containment-view= 1367 ms
1176
1177         Reviewed by Yury Semikhatsky.
1178
1179         * inspector/front-end/HeapSnapshot.js:
1180         (WebInspector.HeapSnapshotEdge.prototype.hasStringName):
1181         (WebInspector.HeapSnapshotEdge.prototype.isElement):
1182         (WebInspector.HeapSnapshotEdge.prototype.isHidden):
1183         (WebInspector.HeapSnapshotEdge.prototype.isWeak):
1184         (WebInspector.HeapSnapshotEdge.prototype.isInternal):
1185         (WebInspector.HeapSnapshotEdge.prototype.isInvisible):
1186         (WebInspector.HeapSnapshotEdge.prototype.isShortcut):
1187         (WebInspector.HeapSnapshotEdge.prototype.name):
1188         (WebInspector.HeapSnapshotEdge.prototype.node):
1189         (WebInspector.HeapSnapshotEdge.prototype.nodeIndex):
1190         (WebInspector.HeapSnapshotEdge.prototype.rawEdges):
1191         (WebInspector.HeapSnapshotEdge.prototype.toString):
1192         (WebInspector.HeapSnapshotEdge.prototype.type):
1193         (WebInspector.HeapSnapshotEdge.prototype._hasStringName):
1194         (WebInspector.HeapSnapshotEdge.prototype._name):
1195         (WebInspector.HeapSnapshotEdge.prototype._nameOrIndex):
1196         (WebInspector.HeapSnapshotEdgeIterator.prototype.index):
1197         (WebInspector.HeapSnapshotEdgeIterator.prototype.setIndex):
1198         (WebInspector.HeapSnapshotEdgeIterator.prototype.item):
1199         (WebInspector.HeapSnapshotRetainerEdge):
1200         (WebInspector.HeapSnapshotRetainerEdge.prototype.clone):
1201         (WebInspector.HeapSnapshotRetainerEdge.prototype.hasStringName):
1202         (WebInspector.HeapSnapshotRetainerEdge.prototype.isElement):
1203         (WebInspector.HeapSnapshotRetainerEdge.prototype.isHidden):
1204         (WebInspector.HeapSnapshotRetainerEdge.prototype.isInternal):
1205         (WebInspector.HeapSnapshotRetainerEdge.prototype.isInvisible):
1206         (WebInspector.HeapSnapshotRetainerEdge.prototype.isShortcut):
1207         (WebInspector.HeapSnapshotRetainerEdge.prototype.isWeak):
1208         (WebInspector.HeapSnapshotRetainerEdge.prototype.name):
1209         (WebInspector.HeapSnapshotRetainerEdge.prototype.node):
1210         (WebInspector.HeapSnapshotRetainerEdge.prototype.nodeIndex):
1211         (WebInspector.HeapSnapshotRetainerEdge.prototype.retainerIndex):
1212         (WebInspector.HeapSnapshotRetainerEdge.prototype.setRetainerIndex):
1213         (WebInspector.HeapSnapshotRetainerEdge.prototype._node):
1214         (WebInspector.HeapSnapshotRetainerEdge.prototype._edge):
1215         (WebInspector.HeapSnapshotRetainerEdge.prototype.toString):
1216         (WebInspector.HeapSnapshotRetainerEdge.prototype.type):
1217         (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.first):
1218         (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.hasNext):
1219         (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.index):
1220         (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.setIndex):
1221         (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.item):
1222         (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.next):
1223         (WebInspector.HeapSnapshotNode.prototype.canBeQueried):
1224         (WebInspector.HeapSnapshotNode.prototype.distanceToWindow):
1225         (WebInspector.HeapSnapshotNode.prototype.className):
1226         (WebInspector.HeapSnapshotNode.prototype.dominatorIndex):
1227         (WebInspector.HeapSnapshotNode.prototype.edges):
1228         (WebInspector.HeapSnapshotNode.prototype.edgesCount):
1229         (WebInspector.HeapSnapshotNode.prototype.flags):
1230         (WebInspector.HeapSnapshotNode.prototype.id):
1231         (WebInspector.HeapSnapshotNode.prototype.isHidden):
1232         (WebInspector.HeapSnapshotNode.prototype.isNative):
1233         (WebInspector.HeapSnapshotNode.prototype.isSynthetic):
1234         (WebInspector.HeapSnapshotNode.prototype.isWindow):
1235         (WebInspector.HeapSnapshotNode.prototype.isDetachedDOMTreesRoot):
1236         (WebInspector.HeapSnapshotNode.prototype.isDetachedDOMTree):
1237         (WebInspector.HeapSnapshotNode.prototype.isRoot):
1238         (WebInspector.HeapSnapshotNode.prototype.name):
1239         (WebInspector.HeapSnapshotNode.prototype.rawEdges):
1240         (WebInspector.HeapSnapshotNode.prototype.retainedSize):
1241         (WebInspector.HeapSnapshotNode.prototype.retainers):
1242         (WebInspector.HeapSnapshotNode.prototype.selfSize):
1243         (WebInspector.HeapSnapshotNode.prototype.type):
1244         (WebInspector.HeapSnapshotNode.prototype._name):
1245         (WebInspector.HeapSnapshotNode.prototype._edgeIndexesEnd):
1246         (WebInspector.HeapSnapshotNode.prototype._nextNodeIndex):
1247         (WebInspector.HeapSnapshotNode.prototype._type):
1248         (WebInspector.HeapSnapshotNodeIterator):
1249         (WebInspector.HeapSnapshotNodeIterator.prototype.hasNext):
1250         (WebInspector.HeapSnapshotNodeIterator.prototype.index):
1251         (WebInspector.HeapSnapshotNodeIterator.prototype.setIndex):
1252         (WebInspector.HeapSnapshotNodeIterator.prototype.item):
1253         (WebInspector.HeapSnapshotNodeIterator.prototype.next):
1254         (WebInspector.HeapSnapshot.prototype._allNodes):
1255         (WebInspector.HeapSnapshot.prototype.rootNode):
1256         (WebInspector.HeapSnapshot.prototype.get totalSize):
1257         (WebInspector.HeapSnapshot.prototype._dominatedNodesOfNode):
1258         (WebInspector.HeapSnapshot.prototype.aggregatesForDiff):
1259         (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
1260         (WebInspector.HeapSnapshot.prototype._buildAggregates):
1261         (WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize):
1262         (WebInspector.HeapSnapshot.prototype._sortAggregateIndexes):
1263         (WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
1264         (WebInspector.HeapSnapshot.prototype._markDetachedDOMTreeNodes):
1265         (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
1266         (WebInspector.HeapSnapshot.prototype._calculateDiffForClass):
1267         (WebInspector.HeapSnapshot.prototype._nodeForSnapshotObjectId):
1268         (WebInspector.HeapSnapshot.prototype.nodeClassName):
1269         (WebInspector.HeapSnapshot.prototype.dominatorIdsForNode):
1270         (WebInspector.HeapSnapshot.prototype.createEdgesProvider):
1271         (WebInspector.HeapSnapshot.prototype.createRetainingEdgesProvider):
1272         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype._createIterationOrder):
1273         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.isEmpty):
1274         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.item):
1275         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeItemsRange):
1276         (WebInspector.HeapSnapshotEdgesProvider.prototype.serializeItem):
1277         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareEdgeFieldName):
1278         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeField):
1279         (WebInspector.HeapSnapshotNodesProvider):
1280         (WebInspector.HeapSnapshotNodesProvider.prototype.nodePosition):
1281         (WebInspector.HeapSnapshotNodesProvider.prototype.serializeItem):
1282         (WebInspector.HeapSnapshotNodesProvider.prototype.sort.sortByNodeField):
1283         * inspector/front-end/HeapSnapshotGridNodes.js:
1284         * inspector/front-end/HeapSnapshotProxy.js:
1285         (WebInspector.HeapSnapshotProviderProxy.prototype.isEmpty):
1286
1287 2012-05-22  Yury Semikhatsky  <yurys@chromium.org>
1288
1289         Web Inspector: Debugger should correctly show catch scope
1290         https://bugs.webkit.org/show_bug.cgi?id=87197
1291
1292         Reviewed by Vsevolod Vlasov.
1293
1294         * bindings/v8/DebuggerScript.js: In case of Catch scope the scope object
1295         is a synthetic one which means that it contains all standard object properties.
1296         When passing this object further we need to leave only properties available in
1297         the catch block(only variable thar stores the exception in fact).
1298
1299 2012-05-23  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1300
1301         [Qt] FloatSize Qt Support
1302         https://bugs.webkit.org/show_bug.cgi?id=87237
1303
1304         Reviewed by Andreas Kling.
1305
1306         No new functionality. No new tests.
1307
1308         * Target.pri:
1309         * platform/graphics/FloatSize.h:
1310         (FloatSize):
1311         * platform/graphics/qt/FloatSizeQt.cpp: Added.
1312         (WebCore::FloatSize::FloatSize):
1313         (WebCore::FloatSize::operator QSizeF):
1314
1315 2012-05-23  Alexei Filippov  <alexeif@chromium.org>
1316
1317         Web Inspector: Enable HeapSnapshotRealWorker in production mode.
1318         https://bugs.webkit.org/show_bug.cgi?id=87240
1319
1320         Reviewed by Yury Semikhatsky.
1321
1322         * inspector/front-end/HeapSnapshotProxy.js:
1323         (WebInspector.HeapSnapshotWorker):
1324
1325 2012-05-23  'Pavel Feldman'  <pfeldman@chromium.org>
1326
1327         Not reviewed: inspector's Find is not consuming event as of r117974.
1328
1329         * inspector/front-end/AdvancedSearchController.js:
1330         (WebInspector.AdvancedSearchController.prototype.handleShortcut):
1331         * inspector/front-end/SearchController.js:
1332         (WebInspector.SearchController.prototype.handleShortcut):
1333
1334 2012-05-23  Pavel Feldman  <pfeldman@chromium.org>
1335
1336         Web Inspector: enable drag-an-drop from the navigator panel.
1337         https://bugs.webkit.org/show_bug.cgi?id=87238
1338
1339         Reviewed by Vsevolod Vlasov.
1340
1341         Making tree item draggable.
1342
1343         * inspector/front-end/NavigatorView.js:
1344         (WebInspector.NavigatorSourceTreeElement.prototype.onattach):
1345         (WebInspector.NavigatorSourceTreeElement.prototype._onmousedown.callback):
1346         (WebInspector.NavigatorSourceTreeElement.prototype._onmousedown):
1347         (WebInspector.NavigatorSourceTreeElement.prototype._ondragstart):
1348
1349 2012-05-23  Ryosuke Niwa  <rniwa@webkit.org>
1350
1351         WebKit spends ~20% of time in HTMLTextAreaElement::defaultValue() when opening a review page
1352         https://bugs.webkit.org/show_bug.cgi?id=86813
1353
1354         Reviewed by Eric Seidel.
1355
1356         Replace String and calls to String::operator+= by StringBuilder and calls to append respectively.
1357         While there are other optimizations we can implement such as not replacing all nodes in the shadow DOM,
1358         or not serializing the value when detecting whether the value had changed, they require considerable
1359         amount of refactoring and this change alone seems to buy us a lot so let us defer those 'til later time.
1360
1361         Also avoid the redundant call to setValue in childrenChanged when the value is dirty.
1362         This should halve the time we spend in setting the value.
1363
1364         * html/HTMLTextAreaElement.cpp:
1365         (WebCore::HTMLTextAreaElement::childrenChanged):
1366         (WebCore::HTMLTextAreaElement::defaultValue):
1367
1368 2012-05-23  Alice Boxhall  <aboxhall@chromium.org>
1369
1370         AX: Contenteditable tables should always be exposed as data tables
1371         https://bugs.webkit.org/show_bug.cgi?id=87052
1372
1373         Reviewed by Chris Fleizach.
1374
1375         Tested in accessibility/table-detection.html.
1376
1377         * accessibility/AccessibilityTable.cpp:
1378         (WebCore::AccessibilityTable::isDataTable): Return true if the node is contenteditable.
1379
1380 2012-05-23  Ryosuke Niwa  <rniwa@webkit.org>
1381
1382         Fix a typo per Darin's comment.
1383
1384         * rendering/RenderBlockLineLayout.cpp:
1385         (WebCore::constructBidiRuns):
1386
1387 2012-05-23  Kentaro Hara  <haraken@chromium.org>
1388
1389         [V8] Pass Isolate to v8::Null() in custom bindings (Part 2)
1390         https://bugs.webkit.org/show_bug.cgi?id=87209
1391
1392         Reviewed by Adam Barth.
1393
1394         The objective is to pass Isolate around in V8 bindings.
1395         This patch passes Isolate to v8::Null() in custom bindings.
1396
1397         No tests. No change in behavior.
1398
1399         * bindings/v8/custom/V8HTMLElementCustom.cpp:
1400         (WebCore::toV8Object):
1401         (WebCore::toV8):
1402         * bindings/v8/custom/V8HistoryCustom.cpp:
1403         (WebCore::V8History::stateAccessorGetter):
1404         * bindings/v8/custom/V8IDBAnyCustom.cpp:
1405         (WebCore::toV8):
1406         * bindings/v8/custom/V8IDBKeyCustom.cpp:
1407         (WebCore::toV8):
1408         * bindings/v8/custom/V8ImageDataCustom.cpp:
1409         (WebCore::toV8):
1410         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
1411         (WebCore::toV8):
1412         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
1413         (WebCore::toV8):
1414         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
1415         (WebCore::toV8):
1416         * bindings/v8/custom/V8LocationCustom.cpp:
1417         (WebCore::toV8):
1418         * bindings/v8/custom/V8MessageEventCustom.cpp:
1419         (WebCore::V8MessageEvent::dataAccessorGetter):
1420         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1421         (WebCore::toV8):
1422         * bindings/v8/custom/V8NodeCustom.cpp:
1423         (WebCore::V8Node::insertBeforeCallback):
1424         (WebCore::V8Node::replaceChildCallback):
1425         (WebCore::V8Node::removeChildCallback):
1426         (WebCore::V8Node::appendChildCallback):
1427         (WebCore::toV8Slow):
1428         * bindings/v8/custom/V8PopStateEventCustom.cpp:
1429         (WebCore::V8PopStateEvent::stateAccessorGetter):
1430         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
1431         (WebCore::V8SQLResultSetRowList::itemCallback):
1432         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
1433         (WebCore::toV8):
1434         * bindings/v8/custom/V8SVGElementCustom.cpp:
1435         (WebCore::toV8):
1436         * bindings/v8/custom/V8SVGPathSegCustom.cpp:
1437         (WebCore::toV8):
1438         * bindings/v8/custom/V8ScriptProfileCustom.cpp:
1439         (WebCore::toV8):
1440         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
1441         (WebCore::toV8):
1442         * bindings/v8/custom/V8StyleSheetCustom.cpp:
1443         (WebCore::toV8):
1444         * bindings/v8/custom/V8TrackEventCustom.cpp:
1445         (WebCore::V8TrackEvent::trackAccessorGetter):
1446         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
1447         (WebCore::toV8):
1448         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
1449         (WebCore::toV8):
1450         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
1451         (WebCore::toV8):
1452         * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
1453         (WebCore::toV8):
1454         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1455         (WebCore::toV8Object):
1456         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
1457         (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):
1458         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1459         (WebCore::toV8):
1460
1461 2012-05-23  Kentaro Hara  <haraken@chromium.org>
1462
1463         [V8] Pass Isolate to v8::Null() in custom bindings (Part 1)
1464         https://bugs.webkit.org/show_bug.cgi?id=87207
1465
1466         Reviewed by Adam Barth.
1467
1468         The objective is to pass Isolate around in V8 bindings.
1469         This patch passes Isolate to v8::Null() in custom bindings.
1470
1471         Also this patch makes V8DeviceMotionEventCustom::createAccelerationObject()
1472         and V8DeviceMotionEventCustom::createRotationRateObject() static.
1473
1474         No tests. No change in behavior.
1475
1476         * bindings/v8/custom/V8BlobCustom.cpp:
1477         (WebCore::toV8):
1478         * bindings/v8/custom/V8CSSRuleCustom.cpp:
1479         (WebCore::toV8):
1480         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
1481         (WebCore::toV8):
1482         * bindings/v8/custom/V8CSSValueCustom.cpp:
1483         (WebCore::toV8):
1484         * bindings/v8/custom/V8ClipboardCustom.cpp:
1485         (WebCore::V8Clipboard::typesAccessorGetter):
1486         * bindings/v8/custom/V8CoordinatesCustom.cpp:
1487         (WebCore::V8Coordinates::altitudeAccessorGetter):
1488         (WebCore::V8Coordinates::altitudeAccuracyAccessorGetter):
1489         (WebCore::V8Coordinates::headingAccessorGetter):
1490         (WebCore::V8Coordinates::speedAccessorGetter):
1491         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
1492         (WebCore::toV8):
1493         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
1494         (WebCore::toV8):
1495         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1496         (WebCore::toV8):
1497         * bindings/v8/custom/V8DataViewCustom.cpp:
1498         (WebCore::toV8):
1499         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
1500         (WebCore::V8DeviceMotionEvent::accelerationAccessorGetter):
1501         (WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAccessorGetter):
1502         (WebCore::V8DeviceMotionEvent::rotationRateAccessorGetter):
1503         (WebCore::V8DeviceMotionEvent::intervalAccessorGetter):
1504         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
1505         (WebCore::V8DeviceOrientationEvent::alphaAccessorGetter):
1506         (WebCore::V8DeviceOrientationEvent::betaAccessorGetter):
1507         (WebCore::V8DeviceOrientationEvent::gammaAccessorGetter):
1508         (WebCore::V8DeviceOrientationEvent::absoluteAccessorGetter):
1509         * bindings/v8/custom/V8DocumentCustom.cpp:
1510         (WebCore::toV8):
1511         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
1512         (WebCore::V8Document::locationAccessorGetter):
1513         * bindings/v8/custom/V8EntryCustom.cpp:
1514         (WebCore::toV8):
1515         * bindings/v8/custom/V8EntrySyncCustom.cpp:
1516         (WebCore::toV8):
1517         * bindings/v8/custom/V8EventCustom.cpp:
1518         (WebCore::toV8):
1519         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
1520         (WebCore::toV8):
1521         * bindings/v8/custom/V8Float64ArrayCustom.cpp:
1522         (WebCore::toV8):
1523         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1524         (WebCore::V8HTMLCanvasElement::getContextCallback):
1525         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1526         (WebCore::toV8):
1527
1528 2012-05-22  MORITA Hajime  <morrita@google.com>
1529
1530         [Refactoring] ElementShadow::m_needsRedistributing  should be on ContentDistributor
1531         https://bugs.webkit.org/show_bug.cgi?id=87216
1532
1533         Reviewed by Kentaro Hara.
1534
1535         Moved ElementShadow::m_needsRedistributing to ContentDistributor::m_needsRedistributing
1536
1537         No new tests. No behavior change.
1538
1539         * dom/ElementShadow.cpp:
1540         (WebCore::ElementShadow::recalcStyle):
1541         (WebCore::ElementShadow::needsRedistributing):
1542         (WebCore::ElementShadow::setNeedsRedistributing):
1543         * dom/ElementShadow.h:
1544         (ElementShadow):
1545         * dom/ShadowRoot.h: Removed outdated declarations.
1546         * html/shadow/ContentDistributor.cpp:
1547         (WebCore::ContentDistributor::ContentDistributor):
1548         * html/shadow/ContentDistributor.h:
1549         (WebCore::ContentDistributor::needsRedistributing):
1550         (WebCore::ContentDistributor::setNeedsRedistributing):
1551         (WebCore::ContentDistributor::clearNeedsRedistributing):
1552
1553 2012-05-22  Kentaro Hara  <haraken@chromium.org>
1554
1555         [V8] Pass Isolate to v8::Null() in CodeGeneratorV8.pm
1556         https://bugs.webkit.org/show_bug.cgi?id=87202
1557
1558         Reviewed by Adam Barth.
1559
1560         The objective is to pass Isolate around in V8 bindings.
1561         This patch passes Isolate to v8::Null() in CodeGeneratorV8.pm.
1562
1563         No tests. No change in behavior.
1564
1565         * bindings/scripts/CodeGeneratorV8.pm:
1566         (GenerateNormalAttrGetter):
1567         (GenerateFunctionCallback):
1568         (NativeToJSValue):
1569         * bindings/scripts/test/V8/V8TestObj.cpp:
1570         (WebCore::TestObjV8Internal::contentDocumentAttrGetter):
1571         (WebCore::TestObjV8Internal::getSVGDocumentCallback):
1572         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1573         (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrGetter):
1574         (WebCore::TestSerializedScriptValueInterfaceV8Internal::readonlyValueAttrGetter):
1575         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetter):
1576         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetter):
1577
1578 2012-05-22  Andreas Kling  <kling@webkit.org>
1579
1580         Short-circuit Element::attrIfExists() when the Element has no Attr list.
1581         <http://webkit.org/b/87214>
1582
1583         Reviewed by Ryosuke Niwa.
1584
1585         This function was lukewarm on Dromaeo/dom-attr (0.4% of samples.)
1586         Added an early return if !hasAttrList() to avoid the function call overhead of
1587         ElementAttributeData::attrIfExists().
1588
1589         * dom/Element.cpp:
1590         (WebCore::Element::attrIfExists):
1591
1592 2012-05-22  Hayato Ito  <hayato@chromium.org>
1593
1594         Remove an assertion since an event's target might be a shadow root if a text node is clicked.
1595         https://bugs.webkit.org/show_bug.cgi?id=87072
1596
1597         Reviewed by Dimitri Glazkov.
1598
1599         Tests: fast/dom/shadow/shadow-dom-event-dispatching.html
1600
1601         * dom/ComposedShadowTreeWalker.cpp:
1602         (WebCore::ComposedShadowTreeWalker::ComposedShadowTreeWalker):
1603
1604 2012-05-22  Dongwoo Im  <dw.im@samsung.com>
1605
1606         [EFL] Implements the registerProtocolHandler method and option.
1607         https://bugs.webkit.org/show_bug.cgi?id=73638
1608
1609         Reviewed by Andreas Kling.
1610
1611         The registerProtocolHandler() method allows Web sites to register themselves
1612         as possible handlers for particular schemes.
1613
1614         http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
1615
1616         * CMakeLists.txt: Add page/NavigatorRegisterProtocolHandler.idl into WebCore_IDL_FILES.
1617
1618 2012-05-22  Kentaro Hara  <haraken@chromium.org>
1619
1620         [V8][Performance] Pass Isolate to v8::Null() in V8Node::toV8()
1621         https://bugs.webkit.org/show_bug.cgi?id=87193
1622
1623         Reviewed by Adam Barth.
1624
1625         This patch improves the performance of Bindings/undefined-first-child.html by 58.7%,
1626         Bindings/undefined-get-element-by-id.html by 26.8%,
1627         Dromaeo/dom-query.html(getElementById (not in document)) by 9.8%,
1628         and Dromaeo/dom-query.html(getElementsByName (not in document)) by 2.1%.
1629         These benchmarks test the performance of accessing an undefined Node object.
1630
1631         Performance test results in my Linux desktop:
1632
1633         [Bindings/undefined-first-child.html]
1634           - without my patch
1635           RESULT Bindings: undefined-first-child= 481.843775891 runs/s
1636           median= 474.934036939 runs/s, stdev= 17.7753278263 runs/s, min= 471.204188482 runs/s, max= 534.629404617 runs/s
1637
1638           - with my patch
1639           RESULT Bindings: undefined-first-child= 764.720531908 runs/s
1640           median= 803.515696424 runs/s, stdev= 54.7402312963 runs/s, min= 688.806888069 runs/s, max= 807.061790668 runs/s
1641
1642         [Bindings/undefined-get-element-by-id.html]
1643           - without my patch
1644           RESULT Bindings: undefined-get-element-by-id= 236.642705579 runs/s
1645           median= 234.527786832 runs/s, stdev= 5.77090297761 runs/s, min= 231.362467866 runs/s, max= 246.305418719 runs/s
1646
1647           - with my patch
1648           RESULT Bindings: undefined-get-element-by-id= 300.031032067 runs/s
1649           median= 303.797468354 runs/s, stdev= 6.99060409266 runs/s, min= 287.581699346 runs/s, max= 304.955527319 runs/s
1650
1651         [Dromaeo/dom-query.html(getElementById (not in document))]
1652           - without my patch
1653           2855.80runs/s ±0.30%
1654
1655           - with my patch
1656           3136.20runs/s ±0.22%
1657
1658         [Dromaeo/dom-query.html(getElementsByName (not in document))]
1659           - without my patch
1660           2198.00runs/s ±0.50%
1661
1662           - with my patch
1663           2243.40runs/s ±3.39%
1664
1665         Currently v8::Null() looks up Isolate, which is a bottleneck of
1666         V8Node::toV8() for undefined Nodes. This patch removes the Isolate
1667         look-up by passing Isolate to v8::Null(), like v8::Null(isolate).
1668
1669         * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
1670         (GenerateHeader):
1671
1672         * bindings/scripts/test/V8/V8TestActiveDOMObject.h: Updated run-bindings-tests results.
1673         (WebCore::toV8):
1674         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1675         (WebCore::toV8):
1676         * bindings/scripts/test/V8/V8TestEventConstructor.h:
1677         (WebCore::toV8):
1678         * bindings/scripts/test/V8/V8TestEventTarget.h:
1679         (WebCore::toV8):
1680         * bindings/scripts/test/V8/V8TestException.h:
1681         (WebCore::toV8):
1682         * bindings/scripts/test/V8/V8TestInterface.h:
1683         (WebCore::toV8):
1684         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1685         (WebCore::toV8):
1686         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1687         (WebCore::toV8):
1688         * bindings/scripts/test/V8/V8TestNode.h:
1689         (WebCore::toV8):
1690         * bindings/scripts/test/V8/V8TestObj.h:
1691         (WebCore::toV8):
1692         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1693         (WebCore::toV8):
1694
1695 2012-05-22  MORITA Hajime  <morrita@google.com>
1696
1697         REGRESSION(r116629) tests for <style scoped> is crashing
1698         https://bugs.webkit.org/show_bug.cgi?id=87191
1699
1700         Reviewed by Kent Tamura.
1701
1702         unregisterWithScopingNode() and registerWithScopingNode() doesn't follow
1703         refactoring around removedFrom(), insertedInto() and willRemove().
1704         This change aligns them to such recent changes.
1705
1706         No new tests. Covered by existing tests.
1707
1708         * html/HTMLStyleElement.cpp:
1709         (WebCore::HTMLStyleElement::unregisterWithScopingNode)
1710         (WebCore::HTMLStyleElement::insertedInto):
1711         - Allowed registerWithScopingNode() only for in-document traversal.
1712           That is how it originally did.
1713         (WebCore::HTMLStyleElement::removedFrom):
1714         - Gave ex-parent to unregisterWithScopingNode().
1715         * html/HTMLStyleElement.h:
1716         (WebCore::HTMLStyleElement::unregisterWithScopingNode):
1717         (HTMLStyleElement):
1718
1719 2012-05-21  Shawn Singh  <shawnsingh@chromium.org>
1720
1721         Improve W3C conformance of backface-visibility
1722         https://bugs.webkit.org/show_bug.cgi?id=84195
1723
1724         Reviewed by Adrienne Walker.
1725
1726         Tests: compositing/backface-visibility/backface-visibility-3d.html
1727                compositing/backface-visibility/backface-visibility-hierarchical-transform.html
1728                compositing/backface-visibility/backface-visibility-non3d.html
1729                compositing/backface-visibility/backface-visibility-simple.html
1730
1731         Unit Tests: CCLayerTreeHostCommonTest::verifyBackFaceCullingWithoutPreserves3d
1732                     CCLayerTreeHostCommonTest::verifyBackFaceCullingWithPreserves3d
1733
1734         Also updated a few other layout and unit tests.
1735
1736         This patch updates chromium to conform to the W3C spec on CSS
1737         transforms, Section 12 about backface visibility. This patch also
1738         updates layout tests to reflect the latest W3C spec. In
1739         particular, rule #1 on section 12, http://dev.w3.org/csswg/css3-transforms/#backface-visibility-property
1740         states which transforms should be used to determine backface-visibility.
1741
1742         Because chromium has an additional quirk of the concept of render
1743         surfaces, unit tests needed to be updated as well.
1744
1745         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1746         (WebCore::layerIsRootOfNewRenderingContext):
1747         (WebCore):
1748         (WebCore::isLayerBackFaceVisible):
1749         (WebCore::isSurfaceBackFaceVisible):
1750         (WebCore::calculateVisibleLayerRect):
1751         (WebCore::layerShouldBeSkipped):
1752         (WebCore::calculateDrawTransformsAndVisibilityInternal):
1753
1754 2012-05-22  Sheriff Bot  <webkit.review.bot@gmail.com>
1755
1756         Unreviewed, rolling out r118095.
1757         http://trac.webkit.org/changeset/118095
1758         https://bugs.webkit.org/show_bug.cgi?id=87201
1759
1760         "Causing crashes on Mac in
1761         WebCore::StyleResolver::adjustRenderStyle (Requested by
1762         sundiamonde on #webkit).
1763
1764         * css/StyleResolver.cpp:
1765         (WebCore::StyleResolver::collectMatchingRulesForList):
1766         * page/Settings.cpp:
1767         (WebCore::Settings::Settings):
1768         * page/Settings.h:
1769         (Settings):
1770         * testing/InternalSettings.cpp:
1771         (WebCore::InternalSettings::InternalSettings):
1772         (WebCore::InternalSettings::restoreTo):
1773         * testing/InternalSettings.h:
1774         (InternalSettings):
1775         * testing/InternalSettings.idl:
1776
1777 2012-05-22  Levi Weintraub  <leviw@chromium.org>
1778
1779         NULL ptr in WebCore::RenderBlock::layoutRunsAndFloatsInRange
1780         https://bugs.webkit.org/show_bug.cgi?id=77786
1781
1782         Reviewed by Ryosuke Niwa.
1783
1784         InlineBidiResolver adds one fake TextRun for isolated inlines in the process of creating the
1785         list of TextRuns to send to the UBA. After the UBA has been run and the TextRuns reordered,
1786         we re-run InlineBidiResolver rooted in the isolate and replace the fake run with those
1787         generated by the subsequent pass by calling the method BidiRunList::replaceRunWithRuns.
1788         This method assumes there are runs to replace the fake run with.
1789
1790         Positioned inline children are ignored when creating TextRuns, so when an isolated inline
1791         has only positioned children we end up with an empty set of runs to pass to replaceRunWithRuns.
1792         Ideally, we'd remove the fake run and not replace it with anything, but BidiRunList keeps
1793         a pointer to the logically last run, which we're unable to easily re-determine after the UBA
1794         has been run. Instead, we leave the fake run in the list and simply avoid calling
1795         replaceRunWithRuns when we don't have any replacement runs.
1796
1797         Test: fast/block/line-layout/crash-in-isolate-with-positioned-child.html
1798
1799         * rendering/RenderBlockLineLayout.cpp:
1800         (WebCore::constructBidiRuns):
1801
1802 2012-05-22  Kent Tamura  <tkent@chromium.org>
1803
1804         [V8] Refactor generation code for non-standard functions
1805         https://bugs.webkit.org/show_bug.cgi?id=87185
1806
1807         Reviewed by Kentaro Hara.
1808
1809         No behavior change. Just a refactoring.
1810
1811         * bindings/scripts/CodeGeneratorV8.pm:
1812         (IsStandardFunction): Introduce a new function to check if a
1813         function can be in a batch registration.
1814         (GenerateNonStandardFunction): Factor out a code to generate
1815         non-standard functions.
1816         (GenerateImplementation):
1817         Use IsStandardFunction and GenerateNonStandardFunction.
1818
1819 2012-05-22  Hayato Ito  <hayato@chromium.org>
1820
1821         Make ComposedShadowTreeWalker traverse inactive insertion points correctly.
1822         https://bugs.webkit.org/show_bug.cgi?id=86830
1823
1824         Reviewed by Dimitri Glazkov.
1825
1826         Fixed InsertionPoint::isActive() issue, which may return true
1827         wrongly even if the insertion point is not in Shadow DOM subtree.
1828         Now ComposedShadowTreeWalker can traverse inactive insertion
1829         points correctly using InsertionPoint::isActive().
1830
1831         Test: fast/dom/shadow/composed-shadow-tree-walker.html
1832
1833         * dom/ComposedShadowTreeWalker.cpp:
1834         (WebCore::ComposedShadowTreeWalker::traverseNode):
1835         (WebCore::ComposedShadowTreeWalker::escapeFallbackContentElement):
1836         (WebCore::ComposedShadowTreeWalker::traverseNodeEscapingFallbackContents):
1837         * html/shadow/InsertionPoint.cpp:
1838         (WebCore::InsertionPoint::isActive):
1839         * html/shadow/InsertionPoint.h:
1840         (WebCore::isActiveInsertionPoint):
1841         (WebCore):
1842
1843 2012-05-22  Mark Pilgrim  <pilgrim@chromium.org>
1844
1845         [Chromium] Call canAccelerate2dCanvas directly
1846         https://bugs.webkit.org/show_bug.cgi?id=86893
1847
1848         Reviewed by James Robinson.
1849
1850         Part of a refactoring series. See tracking bug 82948.
1851
1852         * html/HTMLCanvasElement.cpp:
1853         (WebCore::HTMLCanvasElement::shouldAccelerate):
1854         * platform/chromium/PlatformSupport.h:
1855
1856 2012-05-22  Jason Liu  <jason.liu@torchmobile.com.cn>
1857
1858         [BlackBerry] Possible to clobber httponly cookie.
1859         https://bugs.webkit.org/show_bug.cgi?id=86067
1860
1861         Reviewed by Rob Buis.
1862
1863         If a cookie is set by javaScript and there is already a same httpOnly cookie in cookieManager,
1864         we should reject it. If it has a httpOnly property, we reject it, too.
1865
1866         Test: http/tests/cookies/js-get-and-set-http-only-cookie.php
1867
1868         * platform/blackberry/CookieJarBlackBerry.cpp:
1869         (WebCore::setCookies):
1870         * platform/blackberry/CookieManager.cpp:
1871         (WebCore::CookieManager::setCookies):
1872         (WebCore::CookieManager::shouldRejectNotHttpCookie):
1873         (WebCore):
1874         * platform/blackberry/CookieManager.h:
1875
1876 2012-05-22  Dana Jansens  <danakj@chromium.org>
1877
1878         [chromium] Don't drop children of a RenderSurface from the renderSurfaceLayerList when then position of the surface in its clipRect is not known
1879         https://bugs.webkit.org/show_bug.cgi?id=87181
1880
1881         Reviewed by Adrienne Walker.
1882
1883         We want to avoid dropping things from the renderSurfaceLayerList on main
1884         thread when they may be in the renderSurfaceLayerList on impl thread due
1885         to animation. A render surface would drop all its children if its
1886         contentRect was clipped to become empty by its parent. But when the
1887         surface is being animated, then we can't be sure how its parent will
1888         clip the surface's content, so we don't clip it at all.
1889
1890         Chromium bug: http://crbug.com/128739
1891
1892         Unit test: CCLayerTreeHostCommonTest.verifyClipRectCullsSurfaceWithoutVisibleContent
1893
1894         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1895         (WebCore::calculateDrawTransformsAndVisibilityInternal):
1896
1897 2012-05-22  Kangil Han  <kangil.han@samsung.com>
1898
1899         [EFL][DRT] Implement touch event
1900         https://bugs.webkit.org/show_bug.cgi?id=86720
1901
1902         Reviewed by Hajime Morita.
1903
1904         Currently EFL DRT doesn't support touch event.
1905         Therefore, this patch enabled it and implemented some eventSender function callbacks.
1906
1907         * platform/PlatformTouchEvent.h:
1908         (PlatformTouchEvent): Implement meta state.
1909         * platform/efl/PlatformTouchEventEfl.cpp:
1910         (WebCore::PlatformTouchEvent::PlatformTouchEvent): Implement meta state.
1911
1912 2012-05-22  Chris Rogers  <crogers@google.com>
1913
1914         AudioNodeOutput::disconnectAllParams() must take care when iterating through its parameter list
1915         https://bugs.webkit.org/show_bug.cgi?id=87190
1916
1917         Reviewed by Kenneth Russell.
1918
1919         No new tests. Covered by existing tests.
1920
1921         * Modules/webaudio/AudioNodeOutput.cpp:
1922         (WebCore::AudioNodeOutput::disconnectAllParams):
1923
1924 2012-05-22  MORITA Hajime  <morrita@google.com>
1925
1926         <shadow> and <content> should be hidden behind ContextEnabledFeatures
1927         https://bugs.webkit.org/show_bug.cgi?id=87063
1928
1929         This change repalces "runtimeConditional" tag definition property
1930         with new "contextConditional" property, which refers
1931         ContextEnabledFeatures instead of RuntimeEnabledFeatures.
1932
1933         Reviewed by Dimitri Glazkov.
1934
1935         No new tests. DRT cannot test this. No behaviour change on DRT.
1936
1937         * dom/make_names.pl:
1938         (defaultTagPropertyHash):
1939         (printConstructorInterior):
1940         (printFactoryCppFile):
1941         (printWrapperFunctions):
1942         (printWrapperFactoryCppFile):
1943         * html/HTMLTagNames.in:
1944
1945 2012-05-22  Kent Tamura  <tkent@chromium.org>
1946
1947         Fix a crash in HTMLFormControlElement::disabled().
1948         https://bugs.webkit.org/show_bug.cgi?id=86534
1949
1950         Reviewed by Hajime Morita.
1951
1952         Node::removedFrom() was not called in some cases. This patch fixes it.
1953
1954         No new tests. It's almost impossible to make a reliable test.
1955
1956         * dom/ContainerNodeAlgorithms.h:
1957         Remove inDocument() check so that Node::removedFrom() is called even if
1958         a parent node in an orphan tree is deleted but a child node remains,
1959
1960 2012-05-22  James Robinson  <jamesr@chromium.org>
1961
1962         Add a Setting to make position:fixed form a new stacking context
1963         https://bugs.webkit.org/show_bug.cgi?id=87186
1964
1965         Reviewed by Adam Barth.
1966
1967         position:fixed elements form a new stacking context in several mobile WebKit ports and in the Qt port always. To
1968         be consistent across devices, we want to try turning it on everywhere. This will likely cause compatibility
1969         issues, so we need a runtime setting in order to stage the change carefully.
1970
1971         Tests: fast/block/positioning/fixed-position-stacking-context.html
1972                fast/block/positioning/fixed-position-stacking-context2.html
1973
1974         * css/StyleResolver.cpp:
1975         (WebCore::StyleResolver::collectMatchingRulesForList):
1976         * page/Settings.cpp:
1977         (WebCore::Settings::Settings):
1978         * page/Settings.h:
1979         (WebCore::Settings::setFixedPositionCreatesStackingContext):
1980         (WebCore::Settings::fixedPositionCreatesStackingContext):
1981         (Settings):
1982         * testing/InternalSettings.cpp:
1983         (WebCore::InternalSettings::InternalSettings):
1984         (WebCore::InternalSettings::restoreTo):
1985         (WebCore::InternalSettings::setFixedPositionCreatesStackingContext):
1986         (WebCore):
1987         * testing/InternalSettings.h:
1988         (InternalSettings):
1989         * testing/InternalSettings.idl:
1990
1991 2012-05-22  Adam Barth  <abarth@webkit.org>
1992
1993         RenderInline::absoluteRects does some incorrect layout math
1994         https://bugs.webkit.org/show_bug.cgi?id=87036
1995
1996         Reviewed by Eric Seidel.
1997
1998         http://trac.webkit.org/changeset/88297/trunk/Source/WebCore/rendering/RenderInline.cpp
1999         contained a typo.  We should accumulate offsets, not add sizes to
2000         offsets.
2001
2002         Test: fast/inline/boundingBox-with-continuation.html
2003
2004         * rendering/RenderInline.cpp:
2005         (WebCore::RenderInline::absoluteRects):
2006         (WebCore):
2007
2008 2012-05-22  Dana Jansens  <danakj@chromium.org>
2009
2010         [chromium] Don't force the visibleLayerRect to be empty for animating layers whose front face is not visible
2011         https://bugs.webkit.org/show_bug.cgi?id=86886
2012
2013         Reviewed by Adrienne Walker.
2014
2015         Previously we would force the visibleLayerRect to be empty for these
2016         animating layers, and then special case the pre-painting code to
2017         paint them if they were within some size limit, to avoid having the
2018         layer steal too much memory.
2019
2020         Instead, just use the visibleLayerRect given to the layer. Since the
2021         transform flips the layer such that its back face is visible, it will
2022         also compute a visibleLayerRect in the front face of the layer, and
2023         its size will be bounded by the viewport. This will cause the
2024         layer to be painted with visible priority instead of prepainted, but
2025         ensures the visible parts of the layer is painted and ready to go when
2026         the animation flips the layer around.
2027
2028         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2029         (WebCore::calculateVisibleLayerRect):
2030
2031 2012-05-22  Jer Noble  <jer.noble@apple.com>
2032
2033         REGRESSION (r98359): Video does not render on http://panic.com/dietcoda/
2034         https://bugs.webkit.org/show_bug.cgi?id=87171
2035
2036         Reviewed by Maciej Stachowiak.
2037
2038         No new tests; behavior is very timing specific and only occurs on a subset of all platforms.
2039
2040         Instead of calling prepareForRendering() from metadataLoaded(), which may fail and cause subsequent
2041         calls to prepareForRendering() to short circuit, call createVideoLayer() directly, which achieves
2042         the original goals of the fix for http://webkit.org/b/70448, but without breaking subsequent calls
2043         to prepareForRendering() if called at the wrong time.
2044
2045         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
2046         (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded):
2047
2048 2012-05-22  Tim Horton  <timothy_horton@apple.com>
2049
2050         Add a quirk for applications that depend on the relative ordering of progressCompleted/didFinishLoad
2051         https://bugs.webkit.org/show_bug.cgi?id=87178
2052         <rdar://problem/11468434>
2053
2054         Reviewed by Maciej Stachowiak.
2055
2056         Some applications depend on the relative ordering of progressCompleted/didFinishLoad, which was changed
2057         to be more correct in http://trac.webkit.org/changeset/94105. For applications built before 94105, we can
2058         provide the old behavior. For the time being, this will only apply to Mail.app.
2059
2060         No new tests, will not affect behavior for any application except Mail.
2061
2062         * loader/FrameLoader.cpp:
2063         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
2064         * page/Settings.cpp:
2065         (WebCore::Settings::Settings):
2066         * page/Settings.h:
2067         (WebCore::Settings::setNeedsDidFinishLoadOrderQuirk):
2068         (WebCore::Settings::needsDidFinishLoadOrderQuirk):
2069
2070 2012-05-22  Alexis Menard  <alexis.menard@openbossa.org>
2071
2072         Move some CSS regions properties to CSSParser::isValidKeywordPropertyAndValue.
2073         https://bugs.webkit.org/show_bug.cgi?id=87169
2074
2075         Reviewed by Tony Chang.
2076
2077         Move some CSS regions properties to the fast path implemented by
2078         CSSParser::isValidKeywordPropertyAndValue.
2079
2080         No new tests : Existing tests should cover.
2081
2082         * css/CSSParser.cpp:
2083         (WebCore::isValidKeywordPropertyAndValue):
2084         (WebCore::isKeywordPropertyID):
2085         (WebCore::CSSParser::parseValue):
2086
2087 2012-05-22  Emil A Eklund  <eae@chromium.org>
2088
2089         Represents margins as box and simplify writing mode logic
2090         https://bugs.webkit.org/show_bug.cgi?id=86952
2091
2092         Reviewed by Eric Seidel.
2093         
2094         Add a new class, FractionalLayoutBox, that represents the four sides of a
2095         box and change RenderBox to use it to represent margins.
2096
2097         The new box class is intended to be used to represent things like
2098         margins, paddings and borders where the current rect class isn't a good
2099         fit. It also encapsulated a lot of the horizontal/vertical writing mode
2100         and bidi logic allowing it to be reused.
2101
2102         No new tests, no change in functionality.
2103
2104         * CMakeLists.txt:
2105         * GNUmakefile.list.am:
2106         * Target.pri:
2107         * WebCore.gypi:
2108         * WebCore.vcproj/WebCore.vcproj:
2109         * WebCore.xcodeproj/project.pbxproj:
2110         * platform/graphics/FractionalLayoutBoxExtent.cpp: Added.
2111         * platform/graphics/FractionalLayoutBoxExtent.h: Added.
2112         * rendering/LayoutTypes.h:
2113         * rendering/RenderBlock.cpp:
2114         * rendering/RenderBox.cpp:
2115         * rendering/RenderBox.h:
2116         * rendering/RenderScrollbarPart.cpp:
2117         * rendering/RenderScrollbarPart.h:
2118
2119 2012-05-22  Kentaro Hara  <haraken@chromium.org>
2120
2121         [V8] Replace 'throwTypeError(); return Undefined();' with 'return throwTypeError();'
2122         https://bugs.webkit.org/show_bug.cgi?id=87106
2123
2124         Reviewed by Adam Barth.
2125
2126         This patch replaces
2127
2128             throwTypeError();
2129             return v8::Undefined();
2130
2131         with
2132
2133             return throwTypeError();
2134
2135         No tests. No change in behavior.
2136
2137         * bindings/scripts/CodeGeneratorV8.pm:
2138         (GenerateOverloadedFunctionCallback):
2139         (GenerateParametersCheck):
2140         * bindings/scripts/test/V8/V8TestObj.cpp:
2141         (WebCore::TestObjV8Internal::overloadedMethodCallback):
2142         (WebCore::TestObjV8Internal::overloadedMethod1Callback):
2143
2144 2012-05-22  Dan Bernstein  <mitz@apple.com>
2145
2146         REGRESSION (r105513): CSS max-width is not applied to SVG element
2147         https://bugs.webkit.org/show_bug.cgi?id=87050
2148
2149         Reviewed by Darin Adler.
2150
2151         Tests: svg/css/max-height.html
2152                svg/css/max-width.html
2153
2154         * rendering/svg/RenderSVGRoot.cpp:
2155         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): Changed to also call into the base
2156         class implementation of this function if max-width was specified.
2157         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Changed to call into the bas class
2158         implementation of this function if either height or max-height were specified.
2159
2160 2012-05-22  Kentaro Hara  <haraken@chromium.org>
2161
2162         [V8] Pass Isolate to throwTypeError()
2163         https://bugs.webkit.org/show_bug.cgi?id=87111
2164
2165         Reviewed by Adam Barth.
2166
2167         The objective is to pass Isolate around in V8 bindings.
2168         This patch passes Isolate to throwTypeError() in custom bindings.
2169
2170         No tests. No change in behavior.
2171
2172         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
2173         (WebCore::V8ArrayBuffer::constructorCallback):
2174         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2175         (WebCore::constructWebGLArrayWithArrayBufferArgument):
2176         (WebCore::constructWebGLArray):
2177         * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp:
2178         (WebCore::V8AudioBufferSourceNode::bufferAccessorSetter):
2179         * bindings/v8/custom/V8AudioContextCustom.cpp:
2180         (WebCore::V8AudioContext::constructorCallback):
2181         * bindings/v8/custom/V8BlobCustom.cpp:
2182         (WebCore::V8Blob::constructorCallback):
2183         * bindings/v8/custom/V8ClipboardCustom.cpp:
2184         (WebCore::V8Clipboard::setDragImageCallback):
2185         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
2186         (WebCore::V8DOMFormData::constructorCallback):
2187         * bindings/v8/custom/V8DataViewCustom.cpp:
2188         (WebCore::V8DataView::constructorCallback):
2189         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2190         (WebCore::V8HTMLDocument::openCallback):
2191         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2192         (WebCore::v8HTMLImageElementConstructorCallback):
2193         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
2194         (WebCore::V8HTMLInputElement::selectionStartAccessorGetter):
2195         (WebCore::V8HTMLInputElement::selectionStartAccessorSetter):
2196         (WebCore::V8HTMLInputElement::selectionEndAccessorGetter):
2197         (WebCore::V8HTMLInputElement::selectionEndAccessorSetter):
2198         (WebCore::V8HTMLInputElement::selectionDirectionAccessorGetter):
2199         (WebCore::V8HTMLInputElement::selectionDirectionAccessorSetter):
2200         (WebCore::V8HTMLInputElement::setSelectionRangeCallback):
2201         * bindings/v8/custom/V8HTMLMediaElementCustom.cpp:
2202         (WebCore::V8HTMLMediaElement::controllerAccessorSetter):
2203         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2204         (WebCore::V8InjectedScriptHost::inspectedObjectCallback):
2205         * bindings/v8/custom/V8IntentConstructor.cpp:
2206         (WebCore::V8Intent::constructorCallback):
2207         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
2208         (WebCore::V8MessageChannel::constructorCallback):
2209         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
2210         (WebCore::V8NotificationCenter::requestPermissionCallback):
2211         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
2212         (WebCore::V8SQLResultSetRowList::itemCallback):
2213         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
2214         (WebCore::V8WebKitMutationObserver::constructorCallback):
2215         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
2216         (WebCore::V8WebKitPoint::constructorCallback):
2217         * bindings/v8/custom/V8WebSocketCustom.cpp:
2218         (WebCore::V8WebSocket::constructorCallback):
2219         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
2220         (WebCore::V8XMLHttpRequest::constructorCallback):
2221
2222 2012-05-22  Kentaro Hara  <haraken@chromium.org>
2223
2224         [V8] Replace 'setDOMException(); return Undefined();' with 'return setDOMException();'
2225         https://bugs.webkit.org/show_bug.cgi?id=87102
2226
2227         Reviewed by Adam Barth.
2228
2229         This patch replaces
2230
2231             setDOMException();
2232             return v8::Undefined();
2233
2234         with
2235
2236             return setDOMException();
2237
2238         In addition, just in case, this patch replaces
2239
2240             if (...)
2241                 setDOMException();
2242             return v8::Undefined();
2243
2244         with
2245
2246             if (...)
2247                 return setDOMException();
2248             return v8::Undefined();
2249
2250         because people might insert some code just above
2251         'return v8::Undefined()' in the future.
2252
2253         No tests. No change in behavior.
2254
2255         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2256         (WebCore::constructWebGLArrayWithArrayBufferArgument):
2257         (WebCore::setWebGLArrayHelper):
2258         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2259         (WebCore::WindowSetTimeoutImpl):
2260         * bindings/v8/custom/V8DataViewCustom.cpp:
2261         (WebCore::V8DataView::getInt8Callback):
2262         (WebCore::V8DataView::getUint8Callback):
2263         (WebCore::V8DataView::setInt8Callback):
2264         (WebCore::V8DataView::setUint8Callback):
2265         * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
2266         (WebCore::V8DirectoryEntrySync::getDirectoryCallback):
2267         (WebCore::V8DirectoryEntrySync::getFileCallback):
2268         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2269         (WebCore::V8HTMLOptionsCollection::addCallback):
2270         * bindings/v8/custom/V8NodeCustom.cpp:
2271         (WebCore::V8Node::insertBeforeCallback):
2272         (WebCore::V8Node::replaceChildCallback):
2273         (WebCore::V8Node::removeChildCallback):
2274         (WebCore::V8Node::appendChildCallback):
2275         * bindings/v8/custom/V8SVGLengthCustom.cpp:
2276         (WebCore::V8SVGLength::valueAccessorGetter):
2277         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
2278         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2279         (WebCore::getObjectParameter):
2280         (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
2281         (WebCore::V8WebGLRenderingContext::getParameterCallback):
2282         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
2283         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
2284         (WebCore::V8WebGLRenderingContext::getUniformCallback):
2285         (WebCore::vertexAttribAndUniformHelperf):
2286         (WebCore::uniformHelperi):
2287         (WebCore::uniformMatrixHelper):
2288         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
2289         (WebCore::V8WebKitMutationObserver::observeCallback):
2290         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2291         (WebCore::V8XMLHttpRequest::responseAccessorGetter):
2292
2293 2012-05-22  Martin Robinson  <mrobinson@igalia.com>
2294
2295         [TextureMapper] [Cairo] Implement repaint counters
2296         https://bugs.webkit.org/show_bug.cgi?id=87062
2297
2298         Reviewed by Gustavo Noronha Silva.
2299
2300         No new tests. This just adds a debugging feature that shouldn't
2301         affect the normal drawing of a page.
2302
2303         * platform/graphics/texmap/TextureMapperLayer.cpp:
2304         (WebCore::TextureMapperLayer::updateBackingStore): Now, if repaint counters are
2305         enabled, increment the repaint count and call drawRepaintCounter.
2306         (WebCore::TextureMapperLayer::drawRepaintCounter): Added.
2307         * platform/graphics/texmap/TextureMapperLayer.h:
2308         (TextureMapperLayer): Added declaration for drawRepaintCounter.
2309
2310 2012-05-22  Simon Fraser  <simon.fraser@apple.com>
2311
2312         Use the same animation begin time while updating compositing layers
2313         https://bugs.webkit.org/show_bug.cgi?id=87080
2314
2315         Reviewed by Dean Jackson.
2316         
2317         Tidied up some beginAnimationUpdate/endAnimationUpdate logic,
2318         but further cleaning is required. We currently bracket some calls
2319         to recaclcStyle() with begin/endAnimationUpdate, but not all.
2320         We don't bracket layout, or compositing updates. This patch
2321         adds bracketing around compositing updates, in order to be
2322         able to add some assertions in a later patch that rely on
2323         RenderLayer::currentTransform() giving consistent results,
2324         since currentTransform() depends on the animation begin time.
2325         
2326         Made AnimationController::beginAnimationUpdate() and
2327         AnimationController::endAnimationUpdate() nestable by adding
2328         a counter.
2329         
2330         Added a stack-based class, AnimationUpdateBlock, which
2331         calls begin/endAnimationUpdate.
2332         
2333         Replaced calls to begin/endAnimationUpdate in Document::updateStyleIfNeeded()
2334         and Document::styleResolverChanged() with AnimationUpdateBlock. Filed a bug
2335         to cover other calls to recalcStyle which might need this (87159).
2336         
2337         Removed a call to beginAnimationUpdate() in Document::implicitOpen(),
2338         which was added in r42415. I believe that r57390 makes this unnecessary,
2339         and was not able to reproduce the original bug after removing it. It
2340         was the only unpaired beginAnimationUpdate call.
2341         
2342         Made AnimationControllerPrivate::getAnimatedStyleForRenderer() not 
2343         use a new beginTime each time it was called, so its beginTime now
2344         depends on some earlier beginAnimationUpdate.
2345         
2346         Fixed CSSComputedStyleDeclaration::getPropertyCSSValue() to use
2347         an AnimationUpdateBlock so that calls to computed style do
2348         use the current time to compute an animating value (as before).
2349
2350         Not testable.
2351
2352         * css/CSSComputedStyleDeclaration.cpp:
2353         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2354         * dom/Document.cpp:
2355         (WebCore::Document::updateStyleIfNeeded):
2356         (WebCore::Document::implicitOpen):
2357         (WebCore::Document::styleResolverChanged):
2358         * page/animation/AnimationController.cpp:
2359         (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
2360         (WebCore::AnimationController::AnimationController):
2361         (WebCore::AnimationController::beginAnimationUpdate):
2362         (WebCore::AnimationController::endAnimationUpdate):
2363         * page/animation/AnimationController.h:
2364         (AnimationController):
2365         (WebCore):
2366         (AnimationUpdateBlock):
2367         (WebCore::AnimationUpdateBlock::AnimationUpdateBlock):
2368         (WebCore::AnimationUpdateBlock::~AnimationUpdateBlock):
2369         * rendering/RenderLayerCompositor.cpp:
2370         (WebCore::RenderLayerCompositor::updateCompositingLayers):
2371
2372 2012-05-22  Tony Chang  <tony@chromium.org>
2373
2374         REGRESSION(r117613): Dromaeo/jslib-style-prototype regressed by 20%
2375         https://bugs.webkit.org/show_bug.cgi?id=87142
2376
2377         Reviewed by Alexis Menard.
2378
2379         Move CSSPropertyDisplay back into isValidKeywordPropertyAndValue.
2380         Pass in the parser context so we can check whether we're grid or not.
2381
2382         No new tests. Covered by Dromaeo/jslib-style-prototype perf test.
2383
2384         * css/CSSParser.cpp:
2385         (WebCore::isValidKeywordPropertyAndValue):
2386         (WebCore::isKeywordPropertyID):
2387         (WebCore::parseKeywordValue):
2388         (WebCore::CSSParser::parseValue):
2389         (WebCore::CSSParser::parseFont):
2390
2391 == Rolled over to ChangeLog-2012-05-22 ==