[Qt] Broken controls rendering when transform is applied.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-05-25  Zalan Bujtas  <zbujtas@gmail.com>
2
3         [Qt] Broken controls rendering when transform is applied.
4         https://bugs.webkit.org/show_bug.cgi?id=87483
5
6         Reviewed by Simon Hausmann.
7
8         Use only the scaling transform value to determine the size of
9         the control to be drawn. When other transforms present such as
10         rotate or skew, ignore them, unless scaling also involved. In
11         that case, calculate the scaling value out of the transformation.
12
13         * ManualTests/qt/control_paiting_with_transforms.html: Added.
14
15         * platform/qt/RenderThemeQtMobile.cpp:
16         (WebCore::painterScale):
17         (WebCore):
18         (WebCore::StylePainterMobile::sizeForPainterScale):
19
20 2012-05-17  Andrey Kosyakov  <caseq@chromium.org>
21
22         [chromium] add instrumentation for compositing
23         https://bugs.webkit.org/show_bug.cgi?id=83928
24
25         Reviewed by James Robinson.
26
27         - plumb willCommit() and didBeginFrame() from CCSingleThreadProxy and CCThreadProxy to inspector instrumentation;
28         - note for threaded case, didBeginFrame() is invoked upon unblocking of main thread;
29
30         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
31         (CCLayerTreeHostClient):
32         (WebCore::CCLayerTreeHost::didBeginFrame):
33         (WebCore::CCLayerTreeHost::willCommit):
34         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
35         (WebCore::CCSingleThreadProxy::commitAndComposite):
36         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
37         (WebCore::CCThreadProxy::beginFrame):
38
39 2012-05-25  Taiju Tsuiki  <tzik@chromium.org>
40
41         Web Inspector: Drop InspectorFileSystemInstrumentation
42         https://bugs.webkit.org/show_bug.cgi?id=87460
43
44         Inspector does not need to track DOMFileSystem object now. So we can
45         drop InspectorFileSystemInstrumentation.
46
47         Reviewed by Vsevolod Vlasov.
48
49         * GNUmakefile.list.am:
50         * Modules/filesystem/DOMFileSystem.cpp:
51         (WebCore::DOMFileSystem::create):
52         * WebCore.gypi:
53         * WebCore.vcproj/WebCore.vcproj:
54         * WebCore.xcodeproj/project.pbxproj:
55         * inspector/InspectorFileSystemAgent.cpp:
56         (WebCore::InspectorFileSystemAgent::enable):
57         * inspector/InspectorFileSystemAgent.h:
58         (InspectorFileSystemAgent):
59         * inspector/InspectorFileSystemInstrumentation.h: Removed.
60         * inspector/InspectorInstrumentation.cpp:
61         (WebCore):
62         * inspector/InspectorInstrumentation.h:
63         (WebCore):
64         (InspectorInstrumentation):
65
66 2012-05-25  Ilya Tikhonovsky  <loislo@chromium.org>
67
68         Web Inspector: HeapProfiler: speed-up _calculateClassesRetainedSize and _buildAggregates.
69         https://bugs.webkit.org/show_bug.cgi?id=87482
70
71         Engine didn't inline node's classIndex method because the switch statement in it wasn't inlineable.
72
73         Reviewed by Yury Semikhatsky.
74
75         * inspector/front-end/HeapSnapshot.js:
76         (WebInspector.HeapSnapshotNode.prototype.classIndex):
77
78 2012-05-24  Andreas Kling  <kling@webkit.org>
79
80         Dodge style recalc when id attribute is overwritten with same value.
81         <http://webkit.org/b/87211>
82
83         Reviewed by Eric Seidel.
84
85         Don't force style recalc when the id attribute is set to the same value it already had.
86         ~3.5% improvement on Dromaeo's "dom-attr" locally.
87
88         * dom/Element.cpp:
89         (WebCore::Element::attributeChanged):
90
91 2012-05-24  Yury Semikhatsky  <yurys@chromium.org>
92
93         Web Inspector: add profile type for native memory snapshots
94         https://bugs.webkit.org/show_bug.cgi?id=87400
95
96         Reviewed by Vsevolod Vlasov.
97
98         Introduced new profile type and view classes for native memory snapshots.
99         All the stuff is hidden behind an experimental setting.
100
101         * WebCore.gypi:
102         * WebCore.vcproj/WebCore.vcproj:
103         * inspector/compile-front-end.py:
104         * inspector/front-end/NativeMemorySnapshotView.js: Added.
105         (WebInspector.NativeMemorySnapshotView):
106         (WebInspector.NativeMemorySnapshotView.prototype.dispose):
107         (WebInspector.NativeMemorySnapshotView.prototype.get statusBarItems):
108         (WebInspector.NativeMemorySnapshotView.prototype.get profile):
109         (WebInspector.NativeMemoryProfileType):
110         (WebInspector.NativeMemoryProfileType.prototype.get buttonTooltip):
111         (WebInspector.NativeMemoryProfileType.prototype.buttonClicked):
112         (WebInspector.NativeMemoryProfileType.prototype.get treeItemTitle):
113         (WebInspector.NativeMemoryProfileType.prototype.get description):
114         (WebInspector.NativeMemoryProfileType.prototype.createTemporaryProfile):
115         (WebInspector.NativeMemoryProfileType.prototype.createProfile):
116         (WebInspector.NativeMemoryProfileHeader):
117         (WebInspector.NativeMemoryProfileHeader.prototype.createSidebarTreeElement):
118         (WebInspector.NativeMemoryProfileHeader.prototype.createView):
119         * inspector/front-end/ProfilesPanel.js:
120         * inspector/front-end/Settings.js:
121         (WebInspector.ExperimentsSettings):
122         * inspector/front-end/WebKit.qrc:
123         * inspector/front-end/inspector.html:
124
125 2012-05-25  Yury Semikhatsky  <yurys@chromium.org>
126
127         Web Inspector: make some profiler methods private
128         https://bugs.webkit.org/show_bug.cgi?id=87479
129
130         Reviewed by Vsevolod Vlasov.
131
132         - Removed unused methods.
133         - Renamed private methods so that their names start with underscore. 
134         - ProfileLauncherView methods are called directly from ProfilesPanel instead
135           of sending events.
136
137         * inspector/front-end/CPUProfileView.js:
138         * inspector/front-end/CSSSelectorProfileView.js:
139         (WebInspector.CSSSelectorProfileType.prototype.buttonClicked):
140         (WebInspector.CSSSelectorProfileType.prototype._startRecordingProfile):
141         (WebInspector.CSSSelectorProfileType.prototype.createTemporaryProfile):
142         * inspector/front-end/ProfileLauncherView.js:
143         (WebInspector.ProfileLauncherView.prototype.profileStarted):
144         (WebInspector.ProfileLauncherView.prototype.profileFinished):
145         * inspector/front-end/ProfilesPanel.js:
146         (WebInspector.ProfileType.prototype.createProfile):
147         (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
148         (WebInspector.ProfilesPanel.prototype._reset):
149         (WebInspector.ProfilesPanel.prototype._populateProfiles.populateCallback.var):
150         (WebInspector.ProfilesPanel.prototype._populateProfiles.populateCallback):
151         (WebInspector.ProfilesPanel.prototype._populateProfiles):
152         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
153         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot.done):
154         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
155
156 2012-05-25  Keishi Hattori  <keishi@webkit.org>
157
158         Bad checkValidity result on recently "enabled" form fields
159         https://bugs.webkit.org/show_bug.cgi?id=85704
160
161         Reviewed by Kent Tamura.
162
163         Test: fast/forms/disabled-attr-checkvalidity.html
164
165         We were tripping on the assertion m_isValid == validity()->valid()
166         inside HTMLFormControlElement::isValidFormControlElement.
167         m_isValid was becoming stale because setNeedsValidityCheck wasn't called
168         after m_willValidate changed.
169
170         * html/HTMLFormControlElement.cpp:
171         (WebCore::HTMLFormControlElement::willValidate): We used const_cast
172         because it was too difficult to remove const. We are checking if the
173         value from willValidate has changed to avoid an infinite loop.
174         (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
175
176 2012-05-24  Kinuko Yasuda  <kinuko@chromium.org>
177
178         [chromium] DataTransferItem.webkitGetAsEntry() shouldn't be exposed without flag yet
179         https://bugs.webkit.org/show_bug.cgi?id=87457
180
181         Reviewed by Kent Tamura.
182
183         No new tests, marking some tests SKIP as we stop exposing this by default.
184
185         * Modules/filesystem/DataTransferItemFileSystem.idl: Removed webkitGetAsEntry
186
187 2012-05-25  Rakesh KN  <rakesh.kn@motorola.com>
188
189         RadioNodeList does not include a object element
190         https://bugs.webkit.org/show_bug.cgi?id=87371
191
192         Reviewed by Kent Tamura.
193
194         As per spec http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#category-listed
195         Object element should also be listed in RadioNodeList object.
196
197         Updated existing test.
198
199         * html/RadioNodeList.cpp:
200         (WebCore::RadioNodeList::checkElementMatchesRadioNodeListFilter):
201         Compares if test element's name/id  and form matches that of the RadioNodeList filter.
202         (WebCore::RadioNodeList::nodeMatches):
203         Added support for Object element, check if object elements name/id matches the RadioNodeList filter.
204         * html/RadioNodeList.h:
205         (RadioNodeList): Ditto
206
207 2012-05-25  Jan Keromnes  <janx@linux.com>
208
209         Web Inspector: Resource object has no methods getContent and setContent
210         https://bugs.webkit.org/show_bug.cgi?id=87424
211
212         This fixes the extension API so that it uses the `new Resource()`
213         constructor, which adds the missing `getContent` and `setContent`
214         methods to a `Resource` object.
215
216         Reviewed by Vsevolod Vlasov.
217
218         The tests were fixed accordingly in:
219         LayoutTests/inspector/extensions/extensions-resources-expected.txt
220
221         * inspector/front-end/ExtensionAPI.js:
222         (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler.else.callbackWrapper):
223         (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler):
224
225 2012-05-24  Tim Horton  <timothy_horton@apple.com>
226
227         Add feature defines for web-facing parts of CSS Regions and Exclusions
228         https://bugs.webkit.org/show_bug.cgi?id=87442
229         <rdar://problem/10887709>
230
231         Reviewed by Dan Bernstein.
232
233         * Configurations/FeatureDefines.xcconfig:
234         * GNUmakefile.am:
235         * bindings/generic/RuntimeEnabledFeatures.cpp:
236         * bindings/generic/RuntimeEnabledFeatures.h:
237         (RuntimeEnabledFeatures):
238         (WebCore::RuntimeEnabledFeatures::setCSSExclusionsEnabled):
239         (WebCore::RuntimeEnabledFeatures::cssExclusionsEnabled):
240         * bindings/js/JSCSSRuleCustom.cpp:
241         (WebCore::toJS):
242         * bindings/objc/DOMCSS.mm:
243         (kitClass):
244         * css/CSSComputedStyleDeclaration.cpp:
245         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
246         * css/CSSParser.cpp:
247         (WebCore::isSimpleLengthPropertyID):
248         (WebCore::isValidKeywordPropertyAndValue):
249         (WebCore::isKeywordPropertyID):
250         (WebCore::CSSParser::parseValue):
251         (WebCore::CSSParser::detectAtToken):
252         * css/CSSProperty.cpp:
253         (WebCore::CSSProperty::isInheritedProperty):
254         * css/CSSPropertyNames.in:
255         * css/CSSRule.cpp:
256         (WebCore::CSSRule::cssText):
257         (WebCore::CSSRule::destroy):
258         (WebCore::CSSRule::reattach):
259         * css/CSSRule.h:
260         (WebCore::CSSRule::isRegionRule):
261         * css/CSSRule.idl:
262         * css/StyleBuilder.cpp:
263         (WebCore::StyleBuilder::StyleBuilder):
264         * css/StylePropertySet.cpp:
265         (WebCore::StylePropertySet::getPropertyValue):
266         (WebCore::StylePropertySet::asText):
267         * css/StylePropertyShorthand.cpp:
268         (WebCore::shorthandForProperty):
269         * css/StylePropertyShorthand.h:
270         * css/StyleResolver.cpp:
271         (WebCore::StyleResolver::collectMatchingRulesForList):
272         * css/StyleRule.cpp:
273         (WebCore::StyleRuleBase::destroy):
274         (WebCore::StyleRuleBase::copy):
275         (WebCore::StyleRuleBase::createCSSOMWrapper):
276         * css/WebKitCSSRegionRule.cpp:
277         * css/WebKitCSSRegionRule.h:
278         * css/WebKitCSSRegionRule.idl:
279         * dom/Document.cpp:
280         * dom/Document.h:
281         * dom/Document.idl:
282         * page/DOMWindow.idl:
283         * page/Settings.cpp:
284         (WebCore::Settings::Settings):
285         * page/Settings.h:
286         (WebCore::Settings::setCSSRegionsEnabled):
287         (WebCore::Settings::cssRegionsEnabled):
288
289 2012-05-24  Geoffrey Garen  <ggaren@apple.com>
290
291         WebKit should be lazy-finalization-safe (esp. the DOM)
292         https://bugs.webkit.org/show_bug.cgi?id=87456
293
294         Reviewed by Filip Pizlo.
295
296         * bindings/js/DOMWrapperWorld.cpp:
297         (WebCore::JSStringOwner::finalize):
298         * bindings/js/JSDOMBinding.cpp:
299         (WebCore::jsStringSlowCase):
300         * bindings/js/JSDOMBinding.h:
301         (WebCore::cacheWrapper):
302         (WebCore::uncacheWrapper): Use the new idioms.
303
304         (WebCore::jsString): Use get instead of find because get is simpler in
305         the case of entries that are logically null.
306
307         (WebCore::domObjectWrapperMapFor): Removed, since it was unused.
308
309         * bindings/js/ScriptWrappable.h:
310         (WebCore::ScriptWrappable::clearWrapper): Use the new idioms.
311
312         * bridge/runtime_root.cpp:
313         (JSC::Bindings::RootObject::invalidate): Check for null while iterating,
314         since that's possible now.
315
316         (JSC::Bindings::RootObject::addRuntimeObject):
317         (JSC::Bindings::RootObject::removeRuntimeObject):
318         (JSC::Bindings::RootObject::finalize): Use the new idioms.
319
320         * bridge/runtime_root.h:
321         (RootObject): Clarified the word "need".
322
323 2012-05-24  Kent Tamura  <tkent@chromium.org>
324
325         PAGE_POPUP: window.setValueAndClosePopup should be moved to a
326         per-context property of DOMWindow.
327         https://bugs.webkit.org/show_bug.cgi?id=87086
328
329         Reviewed by Adam Barth.
330
331         - Introduce window.pagePagePopupController property as V8EnabledPerContext.
332         - Move window.setValueAndClosePopup() to window.pagePopupController.
333         So, we can remove ad-hoc ScriptController::installFunctionsForPagePopup().
334
335         No behavior change.
336
337         Test: fast/forms/date/no-page-popup-controller.html
338
339         * Resources/calendarPicker.js:
340         (submitValue): Use window.pagePopupController.
341         (handleCancel): ditto.
342         * WebCore.gypi: Add new files.
343         * bindings/generic/ContextEnabledFeatures.cpp:
344         (WebCore::ContextEnabledFeatures::pagePopupEnabled): Added.
345         * bindings/generic/ContextEnabledFeatures.h:
346         (ContextEnabledFeatures): Added.
347         * bindings/v8/ScriptController.cpp: Remove installFunctionsForPagePopup().
348         * bindings/v8/ScriptController.h: ditto.
349         * loader/FrameLoaderClient.h:
350         (WebCore::FrameLoaderClient::allowPagePopup): Added.
351         * page/DOMWindowPagePopup.cpp:
352         (WebCore::DOMWindowPagePopup::DOMWindowPagePopup):
353         Creates a PagePopupController object for the specified PagePopupClient.
354         (WebCore::DOMWindowPagePopup::~DOMWindowPagePopup):
355         Empty destructor to generate the RefPtr<PagePopupController> destructor.
356         (WebCore::DOMWindowPagePopup::pagePopupController):
357         * page/DOMWindowPagePopup.h:
358         (DOMWindowPagePopup):
359          - Remove setValueAndClosePopup()
360          - Add pagePopupController()
361          - Change the data member from PagePopupClient to PagePopupController.
362         * page/DOMWindowPagePopup.idl: Supply per-context window.pagePopupController.
363         * page/PagePopupController.cpp: Added. This object is attached to window.
364         * page/PagePopupController.h: ditto.
365         * page/PagePopupController.idl: ditto.
366
367 2012-05-21  Kinuko Yasuda  <kinuko@chromium.org>
368
369         Cleanup: add a file system call which captures the file metadata at once.
370         https://bugs.webkit.org/show_bug.cgi?id=86995
371
372         Reviewed by David Levin.
373
374         Current File.slice() (webkitSlice()) implementation calls two separate platform calls,
375         getFileSize() and getFileModificationTime() [both are defined in platform/FileSystem.h],
376         to capture the file metadata, but we should have a single file system call to get them at once
377         for two reasons: 1. save additional system call costs, and 2.  atomically obtain the file metadata.
378
379         No new tests: existing tests (http/tests/local/fileapi/* and fast/files/*) should pass.
380
381         * fileapi/File.cpp:
382         (WebCore::File::captureSnapshot):
383         * platform/FileMetadata.h:
384         * platform/FileSystem.h:
385         * platform/chromium/FileSystemChromium.cpp:
386         (WebCore::getFileMetadata): Added.
387         * platform/chromium/PlatformSupport.h:
388         (PlatformSupport):
389         * platform/gtk/FileSystemGtk.cpp:
390         (WebCore::getFileMetadata): Added.
391         * platform/posix/FileSystemPOSIX.cpp:
392         (WebCore::getFileMetadata): Added.
393         * platform/qt/FileSystemQt.cpp:
394         (WebCore::getFileMetadata): Added.
395         * platform/win/FileSystemWin.cpp:
396         (WebCore::getFileSizeFromFindData):
397         (WebCore::getFileModificationTimeFromFindData):
398         (WebCore::getFileSize):
399         (WebCore::getFileModificationTime):
400         (WebCore::getFileMetadata): Added.
401         * platform/wince/FileSystemWinCE.cpp:
402         (WebCore::getFileSizeFromFileInfo):
403         (WebCore::getFileModificationTimeFromFileInfo):
404         (WebCore::getFileSize):
405         (WebCore::getFileModificationTime):
406         (WebCore::getFileMetadata): Added.
407         * platform/wx/FileSystemWx.cpp:
408         (WebCore::getFileMetadata): Added.
409         (WebCore):
410
411 2012-05-24  Hironori Bono  <hbono@chromium.org>
412
413         Enable grammar checking on Chromium when we paste text (Take 2)
414         https://bugs.webkit.org/show_bug.cgi?id=74393
415
416         Reviewed by Ryosuke Niwa.
417
418         This change enables grammar checking on Chromium and implements a mock grammar
419         checker to fix a failing test.
420
421         Test: editing/spelling/grammar-markers.html
422
423         * platform/graphics/skia/GraphicsContextSkia.cpp:
424         (WebCore::GraphicsContext::drawLineForDocumentMarker): render grammar markers in gray on Windows and Linux or in green on Mac.
425
426 2012-05-24  Dominic Mazzoni  <dmazzoni@google.com>
427
428         Crash in WebCore::AccessibilityTable::isDataTable
429         https://bugs.webkit.org/show_bug.cgi?id=87409
430
431         Reviewed by Abhishek Arya.
432
433         Use Node::rendererIsEditable everywhere rather than
434         Node::isContentEditable because the latter can trigger a layout
435         and destroy the renderer. New test covers the change to
436         AccessibilityTable.cpp, changes to AccessibilityRenderObject.cpp
437         are covered by existing tests.
438
439         Test: accessibility/contenteditable-table-check-causes-crash.html
440
441         * accessibility/AccessibilityRenderObject.cpp:
442         (WebCore::AccessibilityRenderObject::isReadOnly):
443         (WebCore::AccessibilityRenderObject::contentChanged):
444         * accessibility/AccessibilityTable.cpp:
445         (WebCore::AccessibilityTable::isDataTable):
446
447 2012-05-24  Yoshifumi Inoue  <yosin@chromium.org>
448
449         [Forms][TextArea] Too long validation message doesn't count LF as CRLF
450         https://bugs.webkit.org/show_bug.cgi?id=87458
451
452         Reviewed by Kent Tamura.
453
454         This patch changes current number of characters in "too long" validation message
455         parameter to counting newline as 2 characters (CR and LF) as submission data.
456
457         No new tests. To have test for this change, we need to change localization
458         text handling during DRT. We'll try.
459
460         * html/HTMLTextAreaElement.cpp:
461         (WebCore::HTMLTextAreaElement::validationMessage): Use computeLengthForSubmission instead of numGraphmeClusters.
462
463 2012-05-24  Hayato Ito  <hayato@chromium.org>
464
465         Fix crashes caused by a DOMCharacterDataModified event on a text node.
466         https://bugs.webkit.org/show_bug.cgi?id=86953
467
468         Reviewed by Dimitri Glazkov.
469
470         TextNode can be released while CharacterData::setData() will dispatch a mutation event.
471         So protect it.
472
473         Mutation event itself should not be dispatched on the test case.
474         This is being tracked by webkit bug https://bugs.webkit.org/show_bug.cgi?id=87372.
475
476         Test: fast/events/dom-character-data-modified-textarea-crash.html
477
478         * dom/CharacterData.cpp:
479         (WebCore::CharacterData::setData):
480
481 2012-05-24  Philippe Normand  <pnormand@igalia.com>
482
483         [GTK] Add --enable-css3-flexbox configure option after r118304.
484         https://bugs.webkit.org/show_bug.cgi?id=87455
485
486         Reviewed by Xan Lopez.
487
488         * GNUmakefile.am:
489
490 2012-05-24  MORITA Hajime  <morrita@google.com>
491
492         Scoped stylesheet should be per-document-configurable.
493         https://bugs.webkit.org/show_bug.cgi?id=86985
494
495         Reviewed by Kent Tamura.
496
497         This change replaced RuntimeEnabledFeatures::styleScopedEnabled() callsites
498         with newly introduced ContextEnabledFeatures::styleScopedEnabled().
499         Clients can override the decision by implementing FrameLoaderClient::allowStyleScoped().
500
501         No new tests. This isn't testable on DRT.
502
503         * bindings/generic/ContextEnabledFeatures.cpp:
504         (WebCore):
505         (WebCore::ContextEnabledFeatures::styleScopedEnabled):
506         * bindings/generic/ContextEnabledFeatures.h:
507         (WebCore):
508         (ContextEnabledFeatures):
509         * css/StyleResolver.cpp:
510         (WebCore::StyleResolver::determineScope):
511         * css/StyleResolver.h:
512         (StyleResolver):
513         * html/HTMLStyleElement.cpp:
514         (WebCore::HTMLStyleElement::registerWithScopingNode):
515         (WebCore::HTMLStyleElement::unregisterWithScopingNode):
516         * loader/FrameLoaderClient.h:
517         (WebCore::FrameLoaderClient::allowStyleScoped):
518
519 2012-05-24  Sheriff Bot  <webkit.review.bot@gmail.com>
520
521         Unreviewed, rolling out r118452.
522         http://trac.webkit.org/changeset/118452
523         https://bugs.webkit.org/show_bug.cgi?id=87446
524
525         Causes many tests to assert on Mac, NRWT bails out (Requested
526         by sundiamonde on #webkit).
527
528         * rendering/RenderObject.cpp:
529         (WebCore::RenderObject::~RenderObject):
530         (WebCore::RenderObject::clearLayoutRootIfNeeded):
531
532 2012-05-24  Kevin Ollivier  <kevino@theolliviers.com>
533
534         [wx] Unreviewed build fix. Add contextMenuItemVector stub.
535
536         * platform/wx/ContextMenuWx.cpp:
537         (WebCore):
538         (WebCore::contextMenuItemVector):
539
540 2012-05-24  Raymond Toy  <rtoy@google.com>
541
542         Use 32-byte alignment in AudioArray if using WEBAUDIO_FFMPEG
543         https://bugs.webkit.org/show_bug.cgi?id=87430
544
545         Reviewed by Chris Rogers.
546
547         Covered by existing tests.
548
549         * platform/audio/AudioArray.h:
550         (WebCore::AudioArray::allocate):
551
552 2012-05-24  Antoine Labour  <piman@chromium.org>
553
554         [chromium] Add a setForceRenderSurface to WebLayer for test/bench purpose
555         https://bugs.webkit.org/show_bug.cgi?id=87436
556
557         Reviewed by James Robinson.
558
559         Tested by CCLayerTreeHostCommonTest.verifyForceRenderSurface
560
561         * platform/graphics/chromium/LayerChromium.cpp:
562         (WebCore::LayerChromium::LayerChromium):
563         (WebCore::LayerChromium::setForceRenderSurface):
564         (WebCore):
565         (WebCore::LayerChromium::pushPropertiesTo):
566         * platform/graphics/chromium/LayerChromium.h:
567         (WebCore::LayerChromium::forceRenderSurface):
568         (LayerChromium):
569         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
570         (WebCore::CCLayerImpl::CCLayerImpl):
571         * platform/graphics/chromium/cc/CCLayerImpl.h:
572         (WebCore::CCLayerImpl::forceRenderSurface):
573         (WebCore::CCLayerImpl::setForceRenderSurface):
574         (CCLayerImpl):
575         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
576         (WebCore::subtreeShouldRenderToSeparateSurface):
577
578 2012-05-24  Ken Buchanan  <kenrb@chromium.org>
579
580         Layout root not getting cleared for anonymous renderers geting destroyed
581         https://bugs.webkit.org/show_bug.cgi?id=84002
582
583         Reviewed by Abhishek Arya.
584
585         This is a follow-up to r109406, which added a check to clear layout
586         roots when they point to a renderer that is being destroyed. The
587         thinking was that layout roots would never be anonymous renderers,
588         but there are some cases where this is not true (in particular,
589         generated content containers with overflow clips can be layout roots).
590
591         As in r109406, this patch has no layout test. This is because any test
592         that exercises this behavior is caused by an existing layout bug where
593         a child is not properly getting layout (or a renderer is getting dirtied
594         out of order during layout) and will fail multiple ASSERTs:
595         in particular, ASSERT(!m_layoutRoot->container() || !m_layoutRoot->
596         container()->needsLayout()) in FrameView::scheduleRelayoutOfSubtree(),
597         and ASSERT_NOT_REACHED() in RenderObject::clearLayoutRootIfNeeded().
598         We are preventing those bugs from manifesting as security issues with
599         this patch.
600
601         * rendering/RenderObject.cpp:
602         (WebCore::RenderObject::~RenderObject):
603         (WebCore::RenderObject::willBeDestroyed):
604
605 2012-05-24  Anders Carlsson  <andersca@apple.com>
606
607         Corrupted pages rendering when images are zoomed on Google+
608         https://bugs.webkit.org/show_bug.cgi?id=87439
609         <rdar://problem/11503078>
610
611         Reviewed by Beth Dakin.
612
613         The rect that's given to scrollContentsSlowPath is in frame view coordinates, but if we end up
614         passing them to RenderLayer::setBackingNeedsRepaintInRect we need to account for the frame scale factor.
615
616         * page/FrameView.cpp:
617         (WebCore::FrameView::scrollContentsSlowPath):
618
619 2012-05-24  Ryosuke Niwa  <rniwa@webkit.org>
620
621         REGRESSION (r112399): insertHTML doesn't respect current selection range and inserts HTML to incorrect position
622         https://bugs.webkit.org/show_bug.cgi?id=87195
623
624         Reviewed by Darin Adler.
625
626         The bug was caused by our passing insertionPos.anchorNode() to splitTreeToNode's start node even when
627         the position's type was an offset in a container. Fixed the bug by passing the node after the insert position
628         or the container node if the position is at the end of the container.
629
630         Test: editing/pasteboard/paste-at-end-of-node-followed-by-inline-element.html
631
632         * editing/ReplaceSelectionCommand.cpp:
633         (WebCore::ReplaceSelectionCommand::doApply):
634
635 2012-05-24  Emil A Eklund  <eae@chromium.org>
636
637         REGRESSION (115573): Incorrect rounding of margins for floats
638         https://bugs.webkit.org/show_bug.cgi?id=87319
639
640         Reviewed by Eric Seidel.
641
642         In RenderBlock::computeInlinePreferredLogicalWidths we used a float to
643         accumulate margins for floating children while the children themselves
644         represent their margins as LayoutUnits. Due to lack of rounding this can
645         cause the block to be too small at certain certain zoom levels, causing
646         unwanted wrapping. 
647
648         This patch changes computeInlinePreferredLogicalWidths to use a
649         LayoutUnit to accumulate the margins and thus ensures that the margin
650         values are rounded the same way.
651
652         Test: fast/block/float/floats-with-margin-should-not-wrap.html
653
654         * rendering/RenderBlock.cpp:
655         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
656
657 2012-05-24  Christophe Dumez  <christophe.dumez@intel.com>
658
659         postMessage and webkitPostMessage should behave the same way
660         https://bugs.webkit.org/show_bug.cgi?id=87384
661
662         Reviewed by Adam Barth.
663
664         Make postMessage behave the same way as webkitPostMessage, meaning
665         that it supports transfer of MessagePorts and ArrayBuffers as per
666         the spec. Both V8 and JSC implementations have been updated.
667
668         Test: fast/dom/Window/window-postmessage-args.html
669
670         * bindings/js/JSDOMWindowCustom.cpp:
671         (WebCore::handlePostMessage):
672         (WebCore::JSDOMWindow::postMessage):
673         (WebCore::JSDOMWindow::webkitPostMessage):
674         * bindings/v8/custom/V8DOMWindowCustom.cpp:
675         (WebCore::handlePostMessageCallback):
676         (WebCore::V8DOMWindow::postMessageCallback):
677         (WebCore::V8DOMWindow::webkitPostMessageCallback):
678         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
679         (WebCore::handlePostMessageCallback):
680         (WebCore::V8DedicatedWorkerContext::postMessageCallback):
681         (WebCore::V8DedicatedWorkerContext::webkitPostMessageCallback):
682         * bindings/v8/custom/V8MessagePortCustom.cpp:
683         (WebCore::handlePostMessageCallback):
684         (WebCore::V8MessagePort::postMessageCallback):
685         (WebCore::V8MessagePort::webkitPostMessageCallback):
686         * bindings/v8/custom/V8WorkerCustom.cpp:
687         (WebCore::handlePostMessageCallback):
688         (WebCore::V8Worker::postMessageCallback):
689         (WebCore::V8Worker::webkitPostMessageCallback):
690
691 2012-05-24  Pablo Flouret  <pablof@motorola.com>
692
693         Submit button doesn't submit the form if the form is wrapped by an anchor tag
694         https://bugs.webkit.org/show_bug.cgi?id=86719
695
696         Reviewed by Ryosuke Niwa.
697
698         When a form's button is clicked or activated with the keyboard a
699         DOMActivate event is dispatched internally and the default handler for
700         it takes care of processing the form submission, but the underlying
701         event that prompted it is not set as handled and so it ends up
702         navigating the anchor, thereby cancelling the form submission.
703
704         This patch sets the original click event as handled if the DOMActivate
705         event was handled. This matches the rest of the browsers for form
706         controls that submit a form (input type=submit, button type=submit,
707         input type=image, etc), and matches IE for the rest of the controls
708         (basically, IE never activates the anchor when clicking on form
709         controls, Presto and Gecko mostly don't either, except in a few cases.
710
711         Test: fast/forms/form-in-anchor-controls-activation.html
712
713         * dom/Node.cpp:
714         (WebCore::Node::dispatchDOMActivateEvent):
715         (WebCore::Node::defaultEventHandler):
716         * dom/Node.h:
717         (Node):
718         * html/HTMLButtonElement.cpp:
719         (WebCore::HTMLButtonElement::defaultEventHandler):
720
721 2012-05-24  Crystal Zhang  <haizhang@rim.com>
722
723         [BlackBerry] Implement select popup and remove old hook to air popup
724         https://bugs.webkit.org/show_bug.cgi?id=87419
725
726         Reviewed by Rob Buis.
727
728         Add new files to make file, add css file for select popup.
729
730         * PlatformBlackBerry.cmake:
731         * Resources/blackberry/popupControlBlackBerry.css: Added.
732         (html):
733         (body):
734         (.bottombuttonOK):
735         (.bottombuttonCancel):
736         (.tablebutton):
737
738 2012-05-24  Levi Weintraub  <leviw@chromium.org>
739
740         Avoid creating InlineBoxes for floating and positioned objects in isolates.
741         https://bugs.webkit.org/show_bug.cgi?id=87277
742
743         Reviewed by Eric Seidel.
744
745         We currently will create a placeholder run for the first object we encounter inside an isolate. Then
746         in RenderBlockLineLayout's constructBidiRuns, we replace that run with the contents of the Isolate.
747         We run into problems when there are no valid contents in the Isolate. We can't simply remove the
748         placeholder if there's nothing to replace it with since it may be the logically last run, which we
749         track but can't rebuild by the time we're handling isolates (we've already shuffled the BidiRuns around).
750
751         With this change, we avoid creating a placeholder altogether until we hit contents in the isolate
752         that would warrant a BidiRun in the first place.
753
754         Test: fast/text/international/float-as-only-child-of-isolate-crash.html
755
756         * rendering/InlineIterator.h:
757         (WebCore::IsolateTracker::addFakeRunIfNecessary):
758         * rendering/RenderBlock.h:
759         (RenderBlock):
760         (WebCore::RenderBlock::shouldSkipCreatingRunsForObject):
761         * rendering/RenderBlockLineLayout.cpp:
762         (WebCore::RenderBlock::appendRunsForObject):
763
764 2012-05-24  Ryosuke Niwa  <rniwa@webkit.org>
765
766         There are too many poorly named functions to create a fragment from markup
767         https://bugs.webkit.org/show_bug.cgi?id=87339
768
769         Reviewed by Eric Seidel.
770
771         Moved all functions that create a fragment from markup to markup.h/cpp.
772         There should be no behavioral change.
773
774         * dom/Range.cpp:
775         (WebCore::Range::createContextualFragment):
776         * dom/Range.h: Removed createDocumentFragmentForElement.
777         * dom/ShadowRoot.cpp:
778         (WebCore::ShadowRoot::setInnerHTML):
779         * editing/markup.cpp:
780         (WebCore::createFragmentFromMarkup):
781         (WebCore::createFragmentForInnerOuterHTML): Renamed from createFragmentFromSource.
782         (WebCore::createFragmentForTransformToFragment): Moved from XSLTProcessor.
783         (WebCore::removeElementPreservingChildren): Moved from Range.
784         (WebCore::createContextualFragment): Ditto.
785         * editing/markup.h:
786         * html/HTMLElement.cpp:
787         (WebCore::HTMLElement::setInnerHTML):
788         (WebCore::HTMLElement::setOuterHTML):
789         (WebCore::HTMLElement::insertAdjacentHTML):
790         * inspector/DOMPatchSupport.cpp:
791         (WebCore::DOMPatchSupport::patchNode): Added a FIXME since this code should be using
792         one of the functions listed in markup.h
793         * xml/XSLTProcessor.cpp:
794         (WebCore::XSLTProcessor::transformToFragment):
795
796 2012-05-24  Jer Noble  <jer.noble@apple.com>
797
798         MediaControlTimelineElement is adjusting time 3 times per click
799         https://bugs.webkit.org/show_bug.cgi?id=58160
800
801         Reviewed by Eric Carlson.
802
803         No new tests; we intentionally throttle timeupdate events for the same
804         movie time, so there is no way to write a layout test for this case.
805
806         Only call setCurrentTime() on mousedown or mousemove events.
807
808         * html/shadow/MediaControlElements.cpp:
809         (WebCore::MediaControlTimelineElement::defaultEventHandler):
810
811 2012-05-24  John Mellor  <johnme@chromium.org>
812
813         Font Boosting: Add compile flag and runtime setting
814         https://bugs.webkit.org/show_bug.cgi?id=87394
815
816         Reviewed by Adam Barth.
817
818         Add ENABLE_FONT_BOOSTING compile flag and fontBoostingEnabled runtime setting.
819
820         No functionality yet, so no new tests.
821
822         * Configurations/FeatureDefines.xcconfig:
823         * GNUmakefile.am:
824         * Target.pri:
825         * page/Settings.cpp:
826         (WebCore::Settings::Settings):
827         (WebCore::Settings::setFontBoostingEnabled):
828         (WebCore):
829         * page/Settings.h:
830         (Settings):
831         (WebCore::Settings::fontBoostingEnabled):
832
833 2012-05-24  Greg Spencer  <gspencer@chromium.org>
834
835         MHTML files should be loadable from all schemes considered local,
836         not just "file:"
837
838         https://bugs.webkit.org/show_bug.cgi?id=86540
839
840         Reviewed by Adam Barth.
841
842         Existing tests should verify correct function.
843
844         * loader/MainResourceLoader.cpp:
845         (WebCore::MainResourceLoader::continueAfterContentPolicy):
846         * loader/archive/mhtml/MHTMLArchive.cpp:
847         (WebCore::MHTMLArchive::create):
848
849 2012-05-24  Dana Jansens  <danakj@chromium.org>
850
851         [chromium] Remove some leftover references to LayerTilerChromium
852         https://bugs.webkit.org/show_bug.cgi?id=87405
853
854         Reviewed by James Robinson.
855
856         * platform/graphics/chromium/LayerChromium.h:
857         (LayerChromium):
858         * platform/graphics/chromium/SolidColorLayerChromium.h:
859
860 2012-05-24  Jessie Berlin  <jberlin@apple.com>
861
862         REGRESSION(r109663) All the the dom/html/level2/html/HTMLFrameElement* tests crash on Windows
863         https://bugs.webkit.org/show_bug.cgi?id=87410
864
865         Reviewed by Anders Carlsson.
866
867         Do not pass a reference type to va_start (see r75435).
868
869         * platform/LocalizedStrings.cpp:
870         (WebCore::formatLocalizedString):
871
872 2012-05-24  Yael Aharon  <yael.aharon@nokia.com>
873
874         [Qt] Stop using the flag FIXED_POSITION_CREATES_STACKING_CONTEXT
875         https://bugs.webkit.org/show_bug.cgi?id=87392
876
877         Reviewed by Antonio Gomes.
878
879         Remove our dependency on a build flag and use the new setting.
880
881         No new tests.
882
883         * css/StyleResolver.cpp:
884
885 2012-05-24  Alexey Proskuryakov  <ap@apple.com>
886
887         [WK2] Let the client give local files universal access on a case by case basis
888         https://bugs.webkit.org/show_bug.cgi?id=87174
889         <rdar://problem/11024330>
890
891         Reviewed by Maciej Stachowiak.
892
893         * dom/Document.cpp: (WebCore::Document::initSecurityContext): When settings->allowUniversalAccessFromFileURLs()
894         is false, also try asking the client for an indulgence.
895
896         * loader/FrameLoaderClient.h: (WebCore::FrameLoaderClient::shouldForceUniversalAccessFromLocalURL):
897         Default implementation doesn't change anything.
898
899 2012-05-24  Tony Chang  <tony@chromium.org>
900
901         improve StyleRareNonInheritedData bit packing on Windows
902         https://bugs.webkit.org/show_bug.cgi?id=87322
903
904         Reviewed by Eric Seidel.
905
906         Accessors for m_runningAcceleratedAnimation and m_hasAspectRatio are on RenderStyle already.
907
908         Also reorder the variables in operator== to be consistent with the constructor and header file.
909         This makes it easier to add or remove values.
910
911         No new tests, just refactoring.
912
913         * rendering/style/StyleRareNonInheritedData.cpp:
914         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
915         (WebCore::StyleRareNonInheritedData::operator==):
916         * rendering/style/StyleRareNonInheritedData.h:
917         (StyleRareNonInheritedData):
918
919 2012-05-24  Robert Hogan  <robert@webkit.org>
920
921         Negative margin block doesn't properly clear a float enclosed by a previous sibling
922         https://bugs.webkit.org/show_bug.cgi?id=10900
923
924         Reviewed by David Hyatt.
925
926         Tests: fast/css/clear-float-sibling.html
927
928         Parent blocks keep a list of child floats that extend out of the parent block and
929         by implication overhang into the parent's siblings. But this doesn't work if the
930         sibling has collapsing margins - it will not find the float in the previous block's
931         list so will ignore the float and fail to clear it.
932
933         RenderBlock:collapseMargins() needs to check if a child's collapsing margin has 
934         reduced the height of the parent up past the bottom of its previous sibling's lowest float
935         and add the now overhanging float to the parent's float list if appropriate.
936         
937         * rendering/RenderBlock.cpp:
938         (WebCore::RenderBlock::collapseMargins):
939
940 2012-05-24  Kinuko Yasuda  <kinuko@chromium.org>
941
942         Cleanup: introduce toFile() to reduce static cast from Blob to File
943         https://bugs.webkit.org/show_bug.cgi?id=87234
944
945         Reviewed by Eric Seidel.
946
947         No new tests as this must have no side effect.
948
949         * bindings/v8/custom/V8BlobCustom.cpp:
950         (WebCore::toV8):
951         * fileapi/Blob.cpp:
952         (WebCore::Blob::webkitSlice):
953         * fileapi/Blob.h:
954         (Blob):
955         * fileapi/File.h:
956         (WebCore::toFile): Added.
957         (WebCore):
958         * fileapi/FileReader.cpp:
959         (WebCore::FileReader::readAsArrayBuffer):
960         (WebCore::FileReader::readAsBinaryString):
961         (WebCore::FileReader::readAsText):
962         (WebCore::FileReader::readAsDataURL):
963         * fileapi/WebKitBlobBuilder.cpp:
964         (WebCore::WebKitBlobBuilder::append):
965         * platform/chromium/ClipboardChromium.cpp:
966         (WebCore::ClipboardChromium::files):
967         * platform/network/FormData.cpp:
968         (WebCore::FormData::appendKeyValuePairItems):
969         * xml/XMLHttpRequest.cpp:
970         (WebCore::XMLHttpRequest::send):
971
972 2012-05-24  Darin Adler  <darin@apple.com>
973
974         SVGElement::addEventListener has peculiar RefPtr usage
975         https://bugs.webkit.org/show_bug.cgi?id=86497
976
977         Reviewed by Andy Estes.
978
979         * svg/SVGElement.cpp:
980         (WebCore::SVGElement::addEventListener): Switch to a more-standard style of RefPtr usage,
981         getting rid of some unneeded reference count churn; also removed an unneeded special case
982         for zero listeners.
983
984 2012-05-24  Raphael Kubo da Costa  <rakuco@webkit.org>
985
986         [EFL] Modify keycode conversion functions to return keycodes with location information after r118001.
987         https://bugs.webkit.org/show_bug.cgi?id=87203
988
989         Reviewed by Andreas Kling.
990
991         Add the required changes to make
992         fast/events/keydown-leftright-keys.html pass after r118001.
993
994         * platform/efl/EflKeyboardUtilities.cpp:
995         (WebCore::createWindowsKeyMap): Translate the keycodes for
996         "{left,right}{Shift,Alt,Control}" into the right windows keyboard
997         definitions.
998
999 2012-05-24  Claudio Saavedra  <csaavedra@igalia.com>
1000
1001         [Gtk] Wrong cursor used for ne-resize
1002         https://bugs.webkit.org/show_bug.cgi?id=87366
1003
1004         Reviewed by Eric Seidel.
1005
1006         * platform/gtk/CursorGtk.cpp:
1007         (WebCore::Cursor::ensurePlatformCursor): Use GDK_TOP_RIGHT_CORNER
1008         for Cursor::NorthEastPanning.
1009
1010 2012-05-24  Gabor Ballabas  <gaborb@inf.u-szeged.hu>
1011
1012         [Qt]  Fix Webkit1 + V8 build.
1013         https://bugs.webkit.org/show_bug.cgi?id=87368
1014
1015         Reviewed by Eric Seidel.
1016
1017         No new tests, because this is a buildfix.
1018
1019         * bindings/scripts/CodeGeneratorV8.pm:
1020         (GenerateImplementation):
1021         * bindings/v8/npruntime_impl.h:
1022         * bindings/v8/npruntime_priv.h:
1023
1024 2012-05-24  Dana Jansens  <danakj@chromium.org>
1025
1026         [chromium] Only display frames created with memory allocations meant to be displayed
1027         https://bugs.webkit.org/show_bug.cgi?id=85108
1028
1029         Reviewed by Adrienne Walker.
1030
1031         In this patch we remove the setVisible() code paths from CCProxy, and
1032         instead commit visiblity state along with a frame. We also commit a
1033         flag with a frame that indicates if the frame is one that can be drawn.
1034
1035         The impl host is set to visible during commit instead of using a
1036         special channel through the proxy, and the scheduler allows
1037         commits when we are waiting to draw our first frame but blocked on
1038         being non-visible.
1039
1040         canDraw is gated on a new flag that indicates if the frame is one meant
1041         for display. A frame is meant for display if the frame was generated
1042         with a memory allocation meant for display. At this time, any non-zero
1043         memory allocation is considered meant for display.
1044
1045         We prevent races by not changing the memory allocation at any time
1046         except during a commit. So we force a commit when the memory
1047         allocation needs to be adjusted and we are not visible. Similarly,
1048         we force a commit when visibility changes so that we are able to
1049         commit the visibility change to the impl tree.
1050
1051         In order to prevent drawing frames that are not meant for display
1052         with a single thread, we prevent compositing when the impl tree
1053         is not visible, with an early out in CCSingleThreadProxy.
1054
1055         Unit tests: CCLayerTreeHostTestVisibilityAndAllocationControlDrawing
1056
1057         * platform/graphics/chromium/LayerChromium.h:
1058         * platform/graphics/chromium/TiledLayerChromium.cpp:
1059         * platform/graphics/chromium/TiledLayerChromium.h:
1060         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1061         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
1062         (WebCore::CCLayerTreeHost::initializeLayerRenderer):
1063         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
1064         (WebCore::CCLayerTreeHost::setNeedsCommit):
1065         (WebCore):
1066         (WebCore::CCLayerTreeHost::setNeedsForcedCommit):
1067         (WebCore::CCLayerTreeHost::setVisible):
1068         (WebCore::CCLayerTreeHost::setContentsMemoryAllocationLimitBytes):
1069         (WebCore::CCLayerTreeHost::scheduleComposite):
1070         (WebCore::CCLayerTreeHost::updateLayers):
1071         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1072         (CCLayerTreeHost):
1073         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1074         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
1075         (WebCore::CCLayerTreeHostImpl::canDraw):
1076         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1077         (WebCore::CCLayerTreeHostImpl::sourceFrameCanBeDrawn):
1078         (WebCore::CCLayerTreeHostImpl::setSourceFrameCanBeDrawn):
1079         (CCLayerTreeHostImpl):
1080         * platform/graphics/chromium/cc/CCProxy.h:
1081         (CCProxy):
1082         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
1083         (WebCore::CCSchedulerStateMachine::drawSuspendedUntilCommit):
1084         (WebCore::CCSchedulerStateMachine::scheduledToDraw):
1085         (WebCore::CCSchedulerStateMachine::updateState):
1086         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1087         (WebCore::CCSingleThreadProxy::doCommit):
1088         (WebCore::CCSingleThreadProxy::setNeedsCommit):
1089         (WebCore):
1090         (WebCore::CCSingleThreadProxy::setNeedsForcedCommit):
1091         (WebCore::CCSingleThreadProxy::doComposite):
1092         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1093         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1094         (WebCore::CCThreadProxy::CCThreadProxy):
1095         (WebCore::CCThreadProxy::setNeedsForcedCommit):
1096         (WebCore):
1097         (WebCore::CCThreadProxy::setNeedsForcedCommitOnImplThread):
1098         (WebCore::CCThreadProxy::forceBeginFrameOnImplThread):
1099         (WebCore::CCThreadProxy::beginFrame):
1100         (WebCore::CCThreadProxy::scheduledActionCommit):
1101         * platform/graphics/chromium/cc/CCThreadProxy.h:
1102         (CCThreadProxy):
1103
1104 2012-05-24  Pavel Feldman  <pfeldman@chromium.org>
1105
1106         Web Inspector: [regression] search in formatted scripts is broken.
1107         https://bugs.webkit.org/show_bug.cgi?id=87377
1108
1109         Reviewed by Vsevolod Vlasov.
1110
1111         Using formatted content in search.
1112
1113         Test: inspector/debugger/script-formatter-search.html
1114
1115         * inspector/front-end/JavaScriptSource.js:
1116         (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
1117         (WebInspector.JavaScriptSource.prototype.searchInContent.callbackWrapper):
1118         (WebInspector.JavaScriptSource.prototype.searchInContent):
1119
1120 2012-05-24  Philip Rogers  <pdr@google.com>
1121
1122         Refactor SVGAnimateTransformElement to avoid expensive determineAnimatedPropertyType call
1123         https://bugs.webkit.org/show_bug.cgi?id=87309
1124
1125         Reviewed by Nikolas Zimmermann.
1126
1127         This is a simple refactor that matches the work done in
1128         https://bugs.webkit.org/show_bug.cgi?id=87309 to avoid an expensive call.
1129
1130         No new tests, no actual effects beyond performance improvement.
1131
1132         * svg/SVGAnimateElement.h:
1133         (SVGAnimateElement):
1134         * svg/SVGAnimateTransformElement.cpp:
1135         (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
1136
1137 2012-05-24  Csaba Osztrogonác  <ossy@webkit.org>
1138
1139         [Qt] Unreviewed trvial fixes.
1140
1141         * Target.pri: Typo fix after r118226.
1142         * WebCore.pri: Warning fix after r117291.
1143
1144 2012-05-24  Antti Koivisto  <antti@apple.com>
1145
1146         Move StyleRuleImport to a file of its own
1147         https://bugs.webkit.org/show_bug.cgi?id=87386
1148
1149         Rubber-stamped by Andreas Kling.
1150
1151         Move StyleRuleImport out from CSSImportRule.cpp/.h
1152
1153         * CMakeLists.txt:
1154         * GNUmakefile.list.am:
1155         * Target.pri:
1156         * WebCore.gypi:
1157         * WebCore.vcproj/WebCore.vcproj:
1158         * WebCore.xcodeproj/project.pbxproj:
1159         * css/CSSImportRule.cpp:
1160         (WebCore):
1161         (WebCore::CSSImportRule::href):
1162         * css/CSSImportRule.h:
1163         (WebCore):
1164         (CSSImportRule):
1165         * css/CSSParser.cpp:
1166         * css/StyleRuleImport.cpp: Copied from Source/WebCore/css/CSSImportRule.cpp.
1167         (WebCore):
1168         * css/StyleRuleImport.h: Copied from Source/WebCore/css/CSSImportRule.h.
1169         (WebCore):
1170         * css/StyleSheetContents.cpp:
1171
1172 2012-05-24  Sheriff Bot  <webkit.review.bot@gmail.com>
1173
1174         Unreviewed, rolling out r118352.
1175         http://trac.webkit.org/changeset/118352
1176         https://bugs.webkit.org/show_bug.cgi?id=87390
1177
1178         Caused 6 editing/spelling tests crash/fail on chromium in
1179         debug. (Requested by vsevik on #webkit).
1180
1181         * platform/graphics/skia/GraphicsContextSkia.cpp:
1182         (WebCore::GraphicsContext::drawLineForDocumentMarker):
1183
1184 2012-05-24  Alexander Pavlov  <apavlov@chromium.org>
1185
1186         Web Inspector: Support hierarchical context menus
1187         https://bugs.webkit.org/show_bug.cgi?id=86847
1188
1189         Reviewed by Pavel Feldman.
1190
1191         This patch makes use of the WebMenuItemInfo SubMenu type to expose the capability of building submenu items
1192         in the Web Inspector's context menu. ContextMenuItems are also passed/stored by reference/value rather than pointer
1193         in order to be consistent with the PlatformMenuDescription typedef.
1194
1195         * bindings/js/JSInspectorFrontendHostCustom.cpp:
1196         (WebCore::populateContextMenuItems): Enable submenu item population.
1197         (WebCore):
1198         (WebCore::JSInspectorFrontendHost::showContextMenu): Extract the menu population part into populateContextMenuItems().
1199         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
1200         (WebCore::populateContextMenuItems): Enable submenu item population.
1201         (WebCore):
1202         (WebCore::V8InspectorFrontendHost::showContextMenuCallback): Extract the menu population part into populateContextMenuItems().
1203         * inspector/InspectorFrontendHost.cpp:
1204         (WebCore::FrontendMenuProvider::create): Use reference instead of pointer for ContextMenuItems.
1205         (WebCore::FrontendMenuProvider::FrontendMenuProvider): Use reference instead of pointer for ContextMenuItems.
1206         (WebCore::FrontendMenuProvider::populateContextMenu): Use reference instead of pointer for ContextMenuItems.
1207         (WebCore::FrontendMenuProvider::contextMenuCleared):
1208         (FrontendMenuProvider):
1209         (WebCore::InspectorFrontendHost::showContextMenu): Use reference instead of pointer for ContextMenuItems.
1210         * inspector/InspectorFrontendHost.h:
1211         (InspectorFrontendHost):
1212         * inspector/front-end/ContextMenu.js: Support the tree-like structure of context menus.
1213         (WebInspector.ContextMenuItem):
1214         (WebInspector.ContextMenuItem.prototype.id):
1215         (WebInspector.ContextMenuItem.prototype.type):
1216         (WebInspector.ContextMenuItem.prototype._buildDescriptor):
1217         (WebInspector.ContextSubMenuItem):
1218         (WebInspector.ContextSubMenuItem.prototype.appendItem):
1219         (WebInspector.ContextSubMenuItem.prototype.appendSubMenuItem):
1220         (WebInspector.ContextSubMenuItem.prototype.appendCheckboxItem):
1221         (WebInspector.ContextSubMenuItem.prototype.appendSeparator):
1222         (WebInspector.ContextSubMenuItem.prototype._buildDescriptor):
1223         (WebInspector.ContextMenu):
1224         (WebInspector.ContextMenu.prototype.nextId):
1225         (WebInspector.ContextMenu.prototype.show):
1226         (WebInspector.ContextMenu.prototype._setHandler):
1227         (WebInspector.ContextMenu.prototype._buildDescriptor):
1228         * inspector/front-end/SoftContextMenu.js:
1229         (.WebInspector.SoftContextMenu): Support sub-menus.
1230         (.WebInspector.SoftContextMenu.prototype.show):
1231         (.WebInspector.SoftContextMenu.prototype._parentGlassPaneElement):
1232         (.WebInspector.SoftContextMenu.prototype._createMenuItem):
1233         (.WebInspector.SoftContextMenu.prototype._createSubMenu):
1234         (.WebInspector.SoftContextMenu.prototype._createSeparator):
1235         (.WebInspector.SoftContextMenu.prototype._menuItemMouseUp):
1236         (.WebInspector.SoftContextMenu.prototype._focus):
1237         (.WebInspector.SoftContextMenu.prototype._triggerAction):
1238         (.WebInspector.SoftContextMenu.prototype._showSubMenu):
1239         (.WebInspector.SoftContextMenu.prototype._buildMouseEventForSubMenu):
1240         (.WebInspector.SoftContextMenu.prototype._hideSubMenu):
1241         (.WebInspector.SoftContextMenu.prototype._menuItemMouseOut):
1242         (.WebInspector.SoftContextMenu.prototype._highlightMenuItem):
1243         (.WebInspector.SoftContextMenu.prototype._menuKeyDown):
1244         (.WebInspector.SoftContextMenu.prototype._glassPaneMouseUp):
1245         (.WebInspector.SoftContextMenu.prototype._discardMenu):
1246         (.WebInspector.SoftContextMenu.prototype._discardSubMenus):
1247         * inspector/front-end/inspector.css: Support for sub-menus, separator improvement.
1248         (.soft-context-menu-separator):
1249         (.soft-context-menu-separator > .separator-line):
1250         (.soft-context-menu-item-submenu-arrow):
1251         * platform/chromium/ContextMenuChromium.cpp:
1252         (WebCore::contextMenuItemVector): Implemented.
1253         (WebCore):
1254
1255 2012-05-24  Vivek Galatage  <vivekgalatage@gmail.com>
1256
1257         Web Inspector: Breakpoints Pane should not show context menu with no breakpoints
1258         https://bugs.webkit.org/show_bug.cgi?id=87340
1259
1260         Reviewed by Pavel Feldman.
1261
1262         Removed the method _contextMenu as this would be redundant call
1263         because _breakpointContextMenu would take care of showing the remove
1264         all breakpoints option.
1265
1266         * inspector/front-end/BreakpointsSidebarPane.js:
1267         (WebInspector.JavaScriptBreakpointsSidebarPane):
1268         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointContextMenu):
1269
1270 2012-05-24  Yury Semikhatsky  <yurys@chromium.org>
1271
1272         Unreviewed. Chromium Mac build fix after r118357.
1273         Use full name specifier instead of "using" directive.
1274
1275         * inspector/InspectorMemoryAgent.cpp:
1276         (WebCore::jsHeapInfo):
1277         (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
1278
1279 2012-05-24  Pavel Feldman  <pfeldman@chromium.org>
1280
1281         Web Inspector: introduce virtual resource for inspector stylesheet.
1282         https://bugs.webkit.org/show_bug.cgi?id=87357
1283
1284         Reviewed by Vsevolod Vlasov.
1285
1286         This change introduces virtual resource that represents inspector stylesheet (that is added for styles added via inspector).
1287         New resource has url of form "inspector://<page url folder>/inspector-stylesheet. It enables live editing and revision
1288         history of the inspector stylesheet.
1289
1290         Test: inspector/styles/edit-inspector-stylesheet.html
1291
1292         * inspector/Inspector.json:
1293         * inspector/InspectorCSSAgent.cpp:
1294         (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
1295         (WebCore::InspectorCSSAgent::bindStyleSheet):
1296         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
1297         (WebCore::InspectorCSSAgent::detectOrigin):
1298         * inspector/InspectorCSSAgent.h:
1299         (InspectorCSSAgent):
1300         * inspector/InspectorDOMAgent.h:
1301         (InspectorDOMAgent):
1302         (WebCore::InspectorDOMAgent::pageAgent):
1303         * inspector/InspectorStyleSheet.cpp:
1304         (WebCore::InspectorStyleSheet::create):
1305         (WebCore::InspectorStyleSheet::InspectorStyleSheet):
1306         (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
1307         (WebCore::InspectorStyleSheet::buildObjectForRule):
1308         (WebCore::InspectorStyleSheet::resourceStyleSheetText):
1309         (WebCore::InspectorStyleSheetForInlineStyle::create):
1310         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
1311         * inspector/InspectorStyleSheet.h:
1312         (WebCore):
1313         (InspectorStyleSheet):
1314         (WebCore::InspectorStyleSheet::canBind):
1315         (InspectorStyleSheetForInlineStyle):
1316         * inspector/front-end/CSSStyleModel.js:
1317         (WebInspector.CSSStyleModel):
1318         (WebInspector.CSSStyleModel.prototype._undoRedoCompleted):
1319         (WebInspector.CSSStyleModel.prototype.getViaInspectorResourceForRule):
1320         (WebInspector.CSSStyleModelResourceBinding):
1321         (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
1322         (WebInspector.CSSStyleModelResourceBinding.prototype._inspectedURLChanged):
1323         (WebInspector.CSSStyleModelResourceBinding.prototype._loadStyleSheetHeaders):
1324         (WebInspector.CSSStyleModelResourceBinding.prototype._innerStyleSheetChanged):
1325         (WebInspector.CSSStyleModelResourceBinding.prototype._getViaInspectorResource.hadersLoaded):
1326         (WebInspector.CSSStyleModelResourceBinding.prototype._getViaInspectorResource):
1327         (WebInspector.CSSStyleModelResourceBinding.prototype._viaInspectorResource.overrideRequestContent.callbackWrapper):
1328         (WebInspector.CSSStyleModelResourceBinding.prototype._viaInspectorResource.overrideRequestContent):
1329         (WebInspector.CSSStyleModelResourceBinding.prototype._viaInspectorResource):
1330         (WebInspector.CSSStyleModelResourceBinding.prototype._viaInspectorResourceURL):
1331         * inspector/front-end/Resource.js:
1332         (WebInspector.Resource):
1333         (WebInspector.Resource.prototype.isHidden):
1334         * inspector/front-end/ResourceTreeModel.js:
1335         (WebInspector.ResourceTreeModel.prototype._onRequestUpdateDropped):
1336         (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
1337         (WebInspector.ResourceTreeFrame.prototype._navigate):
1338         (WebInspector.ResourceTreeFrame.prototype.addResource):
1339         * inspector/front-end/ResourcesPanel.js:
1340         (WebInspector.FrameTreeElement.prototype.appendResource):
1341         * inspector/front-end/ScriptsPanel.js:
1342         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
1343         * inspector/front-end/StylesPanel.js:
1344         (WebInspector.InspectorStyleSource):
1345         * inspector/front-end/StylesSidebarPane.js:
1346         (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode.callback):
1347         (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode):
1348         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
1349         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
1350
1351 2012-05-24  Robin Cao  <robin.cao@torchmobile.com.cn>
1352
1353         [BlackBerry] Possible deadlock in the WebGL code path
1354         https://bugs.webkit.org/show_bug.cgi?id=87375
1355
1356         Reviewed by Rob Buis.
1357
1358         Fix a deadlock happening in the WebGL code path. The mutex is locked
1359         but is not unlocked afterword. Also fix a possible double delete,
1360         the mutex m_frontBufferLock will be destroyed in the base class.
1361
1362         Covered by tests in fast/canvas/webgl.
1363
1364         * platform/graphics/blackberry/LayerCompositingThread.cpp:
1365         (WebCore::LayerCompositingThread::releaseTextureResources):
1366         * platform/graphics/blackberry/WebGLLayerWebKitThread.cpp:
1367         (WebCore::WebGLLayerWebKitThread::~WebGLLayerWebKitThread):
1368
1369 2012-05-24  Ian Vollick  <vollick@chromium.org>
1370
1371         [chromium] Forcibly sync running animations in the waiting state when synchronized start times are needed.
1372         https://bugs.webkit.org/show_bug.cgi?id=87153
1373
1374         Reviewed by James Robinson.
1375
1376         Unit test: CCLayerAnimationControllerTest.ForceSyncWhenSynchronizedStartTimeNeeded
1377
1378         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
1379         (WebCore::CCLayerAnimationController::replaceImplThreadAnimations):
1380
1381 2012-05-24  Ilya Tikhonovsky  <loislo@chromium.org>
1382
1383         Web Inspector: convert HeapSnapshotGridNode._provider into getter.
1384         https://bugs.webkit.org/show_bug.cgi?id=87382
1385
1386         I found that we create a provider for child nodes for the each DataGrid node in advance.
1387         It cost us one async call to the HeapSnapshot's worker per each such the node.
1388         I converted the property into the getter which is initializing the provider lazily.
1389
1390         Reviewed by Yury Semikhatsky.
1391
1392         * inspector/front-end/HeapSnapshot.js:
1393         * inspector/front-end/HeapSnapshotGridNodes.js:
1394         (WebInspector.HeapSnapshotGridNode):
1395         (WebInspector.HeapSnapshotGridNode.prototype.createProvider):
1396         (WebInspector.HeapSnapshotGridNode.prototype._provider):
1397         (WebInspector.HeapSnapshotGridNode.prototype.dispose):
1398         (WebInspector.HeapSnapshotGridNode.prototype._populate):
1399         (WebInspector.HeapSnapshotGridNode.prototype.expandWithoutPopulate):
1400         (WebInspector.HeapSnapshotGridNode.prototype._populateChildren.serializeNextChunk):
1401         (WebInspector.HeapSnapshotGridNode.prototype.sort):
1402         (WebInspector.HeapSnapshotGenericObjectNode):
1403         (WebInspector.HeapSnapshotGenericObjectNode.prototype.updateHasChildren):
1404         (WebInspector.HeapSnapshotObjectNode):
1405         (WebInspector.HeapSnapshotInstanceNode):
1406         (WebInspector.HeapSnapshotConstructorNode):
1407         (WebInspector.HeapSnapshotConstructorNode.prototype.createProvider):
1408         (WebInspector.HeapSnapshotConstructorNode.prototype.revealNodeBySnapshotObjectId):
1409         (WebInspector.HeapSnapshotDiffNode):
1410         (WebInspector.HeapSnapshotDiffNode.prototype.createProvider):
1411         (WebInspector.HeapSnapshotDominatorObjectNode):
1412         (WebInspector.HeapSnapshotDominatorObjectNode.prototype.createProvider):
1413         (WebInspector.HeapSnapshotDominatorObjectNode.prototype.retrieveChildBySnapshotObjectId):
1414
1415 2012-05-24  Rakesh KN  <rakesh.kn@motorola.com>
1416
1417         Filter for RadioNodeList should be case sensitive.
1418         https://bugs.webkit.org/show_bug.cgi?id=87369
1419
1420         Reviewed by Kent Tamura.
1421
1422         Element's id/name attribute matching criteria is case sensitive now.
1423
1424         Modified existing test.
1425
1426         * html/RadioNodeList.cpp:
1427         (WebCore::RadioNodeList::nodeMatches):
1428         Element matching criteria is case sensitive.
1429
1430 2012-05-23  Yury Semikhatsky  <yurys@chromium.org>
1431
1432         Web Inspector: add a command to InspectorMemoryAgent for getting process memory break down
1433         https://bugs.webkit.org/show_bug.cgi?id=87263
1434
1435         Reviewed by Pavel Feldman.
1436
1437         Introduced new protocol command Memory.getProcessMemoryDistribution which returns
1438         memory distribution for the inspected process. Currently only JS allocated and used
1439         heap size is included.
1440
1441         * inspector/Inspector.json:
1442         * inspector/InspectorMemoryAgent.cpp:
1443         (WebCore::jsHeapInfo):
1444         (WebCore):
1445         (WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):
1446         * inspector/InspectorMemoryAgent.h:
1447         (InspectorMemoryAgent):
1448         * platform/chromium/PlatformSupport.h:
1449         (PlatformSupport):
1450
1451 2012-05-24  Nikolas Zimmermann  <nzimmermann@rim.com>
1452
1453         SVGZoomAndPan constants are missing from window object
1454         https://bugs.webkit.org/show_bug.cgi?id=15494
1455
1456         Reviewed by Rob Buis.
1457
1458         Generate the SVGZoomAndPanConstructor, so that the constants defined in the IDL
1459         can be reached from the bindings. Provide a stub-implementation of ref/deref
1460         that's never used, as we don't actually use JSSVGZoomAndPan which needs this, but
1461         only the JSSVGZoomAndPanConstructor.
1462
1463         Add a new IDL flag "SuppressToJSObject" which disables generation of toJS/toV8
1464         methods for classes that are only used in SVGs interfaces via multiple inheritance.
1465         This affects: SVGFitToViewBox, SVGTests, SVGLangSapce, SVGExternalResourcesRequired, etc.
1466
1467         Unlike those classes SVGZoomAndPan defines constants, and thus needs a generated Constructor.
1468         That requires us to build JSSVGZoomAndPan.* (JSSVGFitToViewBox/etc. is generated, but not built!).
1469         Unfortunately this causes compilation problems on Windows, as it builds all sources in a single-file.
1470         MSVC can't decide whether it should call toJS(Node*) or toJS(SVGZoomAndPan*) for a SVGSVGElement.
1471         To avoid these problems stop generating toJS/toV8 completely for all SVG MI types. They were
1472         never used before, so there's no point in actually generating them, as it's now causing problems.
1473
1474         This is a preparation towards bug 15495, which covers implementing
1475         SVGSVGElement.currentView and the SVGViewSpec interface.
1476
1477         No new tests. The SVGZoomAndPan constructor is covered by existing tests, now that its enabled.
1478
1479         * CMakeLists.txt:
1480         * DerivedSources.cpp:
1481         * DerivedSources.pri:
1482         * GNUmakefile.list.am:
1483         * WebCore.gyp/WebCore.gyp:
1484         * WebCore.vcproj/WebCore.vcproj:
1485         * WebCore.xcodeproj/project.pbxproj:
1486         * bindings/scripts/CodeGeneratorJS.pm:
1487         (ShouldGenerateToJSDeclaration):
1488         (ShouldGenerateToJSImplementation):
1489         (GenerateHeader):
1490         (GenerateImplementation):
1491         * bindings/scripts/CodeGeneratorV8.pm:
1492         (GenerateHeader):
1493         * bindings/scripts/IDLAttributes.txt:
1494         * gyp/WebCore.gyp:
1495         * page/DOMWindow.idl:
1496         * svg/SVGDocument.cpp:
1497         (WebCore::SVGDocument::zoomAndPanEnabled):
1498         * svg/SVGExternalResourcesRequired.idl:
1499         * svg/SVGFitToViewBox.idl:
1500         * svg/SVGLangSpace.idl:
1501         * svg/SVGLocatable.idl:
1502         * svg/SVGRenderingIntent.idl:
1503         * svg/SVGSVGElement.cpp:
1504         (WebCore::SVGSVGElement::SVGSVGElement):
1505         (WebCore::SVGSVGElement::parseAttribute):
1506         (WebCore::SVGSVGElement::viewBoxToViewTransform):
1507         (WebCore::SVGSVGElement::setupInitialView):
1508         (WebCore::SVGSVGElement::inheritViewAttributes):
1509         * svg/SVGSVGElement.h:
1510         (SVGSVGElement):
1511         (WebCore::SVGSVGElement::useCurrentView):
1512         (WebCore::SVGSVGElement::setUseCurrentView):
1513         (WebCore::SVGSVGElement::zoomAndPan):
1514         (WebCore::SVGSVGElement::setZoomAndPan):
1515         * svg/SVGStylable.idl:
1516         * svg/SVGTests.idl:
1517         * svg/SVGURIReference.idl:
1518         * svg/SVGUnitTypes.idl:
1519         * svg/SVGViewElement.cpp:
1520         (WebCore::SVGViewElement::SVGViewElement):
1521         (WebCore::SVGViewElement::parseAttribute):
1522         * svg/SVGViewElement.h:
1523         (SVGViewElement):
1524         (WebCore::SVGViewElement::zoomAndPan):
1525         (WebCore::SVGViewElement::setZoomAndPan):
1526         * svg/SVGViewSpec.cpp:
1527         (WebCore::SVGViewSpec::SVGViewSpec):
1528         (WebCore::SVGViewSpec::setTransformString):
1529         (WebCore::SVGViewSpec::parseViewSpec):
1530         * svg/SVGViewSpec.h:
1531         (SVGViewSpec):
1532         (WebCore::SVGViewSpec::transformBaseValue):
1533         (WebCore::SVGViewSpec::zoomAndPan):
1534         (WebCore::SVGViewSpec::setZoomAndPanBaseValue):
1535         * svg/SVGZoomAndPan.cpp:
1536         (WebCore::SVGZoomAndPan::isKnownAttribute):
1537         (WebCore::SVGZoomAndPan::addSupportedAttributes):
1538         (WebCore):
1539         (WebCore::SVGZoomAndPan::parseZoomAndPan):
1540         (WebCore::SVGZoomAndPan::ref):
1541         (WebCore::SVGZoomAndPan::deref):
1542         (WebCore::SVGZoomAndPan::setZoomAndPan):
1543         * svg/SVGZoomAndPan.h:
1544         (SVGZoomAndPan):
1545         (WebCore::SVGZoomAndPan::parseFromNumber):
1546         (WebCore::SVGZoomAndPan::parseAttribute):
1547         (WebCore::SVGZoomAndPan::zoomAndPan):
1548         * svg/SVGZoomAndPan.idl:
1549
1550 2012-05-24  Hironori Bono  <hbono@chromium.org>
1551
1552         Enable grammar checking on Chromium when we paste text.
1553         https://bugs.webkit.org/show_bug.cgi?id=74393
1554
1555         Reviewed by Hajime Morita.
1556
1557         This change enables grammar checking on Chromium and implements a mock grammar
1558         checker to fix a failing test.
1559
1560         Test: editing/spelling/grammar-markers.html
1561
1562         * platform/graphics/skia/GraphicsContextSkia.cpp:
1563         (WebCore::GraphicsContext::drawLineForDocumentMarker): render grammar markers in gray on Windows and Linux or in green on Mac.
1564
1565 2012-05-17  Andrey Kosyakov  <caseq@chromium.org>
1566
1567         Web Inspector: add inspector instrumentation interface for compositing
1568         https://bugs.webkit.org/show_bug.cgi?id=83842
1569
1570         Reviewed by Pavel Feldman.
1571
1572         - added instrumentation methods to mark start/end of layer compositing;
1573         - added associated timeline record type (CompositeLayers);
1574         - plumbed the calls from instrumentation up to the timeline panel;
1575         - actual call-sites are platform-specific and will come as separate patches.
1576
1577         * inspector/InspectorInstrumentation.cpp:
1578         (WebCore::InspectorInstrumentation::willCompositeImpl):
1579         (WebCore):
1580         (WebCore::InspectorInstrumentation::didCompositeImpl):
1581         * inspector/InspectorInstrumentation.h:
1582         (InspectorInstrumentation):
1583         (WebCore::InspectorInstrumentation::willComposite):
1584         (WebCore):
1585         (WebCore::InspectorInstrumentation::didComposite):
1586         * inspector/InspectorTimelineAgent.cpp:
1587         (TimelineRecordType):
1588         (WebCore::InspectorTimelineAgent::willComposite):
1589         (WebCore):
1590         (WebCore::InspectorTimelineAgent::didComposite):
1591         * inspector/InspectorTimelineAgent.h:
1592         (InspectorTimelineAgent):
1593         * inspector/front-end/TimelineModel.js:
1594         * inspector/front-end/TimelinePresentationModel.js:
1595         (WebInspector.TimelinePresentationModel.recordStyle):
1596
1597 2012-05-24  Ilya Tikhonovsky  <loislo@chromium.org>
1598
1599         Unreviewed Web Inspector: remove obsolete isDetailedSnapshot method from HeapSnapshotView.
1600
1601         * inspector/front-end/HeapSnapshotView.js:
1602
1603 2012-05-24  Vivek Galatage  <vivekgalatage@gmail.com>
1604
1605         Web Inspector: localStorage items are not updated when the storage changes
1606         https://bugs.webkit.org/show_bug.cgi?id=83012
1607
1608         Reviewed by Pavel Feldman.
1609
1610         Renamed the inspector protocol UpdateDOMStorage to domStorageUpdated.
1611         Instrumented StorageEventDispatcher to send the update event to the
1612         front-end. Also removed the way DOM Storage Agent used to listen for
1613         the storage events. Added new test to verify the update notifications.
1614
1615         Test: inspector/storage-panel-dom-storage-update.html
1616
1617         * dom/EventListener.h:
1618         * inspector/Inspector.json:
1619         * inspector/InspectorDOMStorageAgent.cpp:
1620         (WebCore):
1621         (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
1622         (WebCore::InspectorDOMStorageAgent::storageId):
1623         (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
1624         (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
1625         * inspector/InspectorDOMStorageAgent.h:
1626         (InspectorDOMStorageAgent):
1627         * inspector/InspectorDOMStorageResource.cpp:
1628         (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
1629         (WebCore::InspectorDOMStorageResource::isSameHostAndType):
1630         (WebCore::InspectorDOMStorageResource::unbind):
1631         * inspector/InspectorDOMStorageResource.h:
1632         (WebCore):
1633         (InspectorDOMStorageResource):
1634         (WebCore::InspectorDOMStorageResource::create):
1635         (WebCore::InspectorDOMStorageResource::id):
1636         (WebCore::InspectorDOMStorageResource::storageArea):
1637         (WebCore::InspectorDOMStorageResource::frame):
1638         * inspector/InspectorInstrumentation.cpp:
1639         (WebCore::InspectorInstrumentation::didDispatchDOMStorageEventImpl):
1640         (WebCore):
1641         * inspector/InspectorInstrumentation.h:
1642         (InspectorInstrumentation):
1643         (WebCore::InspectorInstrumentation::didUseDOMStorage):
1644         (WebCore):
1645         (WebCore::InspectorInstrumentation::didDispatchDOMStorageEvent):
1646         * inspector/front-end/DOMStorage.js:
1647         (WebInspector.DOMStorageDispatcher.prototype.domStorageUpdated):
1648         * inspector/front-end/ResourcesPanel.js:
1649         (WebInspector.ResourcesPanel.prototype.domStorageUpdated):
1650         * storage/StorageEventDispatcher.cpp:
1651         (WebCore::StorageEventDispatcher::dispatch):
1652
1653 2012-05-23  Ilya Tikhonovsky  <loislo@chromium.org>
1654
1655         Web Inspector: introduce console proxy object for HeapSnapshot worker.
1656         https://bugs.webkit.org/show_bug.cgi?id=87346
1657
1658         There is no console object in html5 workers at the moment.
1659         This makes me sad when I'm troubleshooting the HeapSnapshot stuff.
1660         I wrote a simplest proxy object which sends the log, info and error messages
1661         to the WebInspector window.
1662
1663         Reviewed by Pavel Feldman.
1664
1665         * inspector/front-end/HeapSnapshotProxy.js:
1666         (WebInspector.HeapSnapshotRealWorker.prototype._messageReceived):
1667         * inspector/front-end/HeapSnapshotWorker.js:
1668         (WebInspector.WorkerConsole):
1669         (WebInspector.WorkerConsole.prototype.log):
1670         (WebInspector.WorkerConsole.prototype.error):
1671         (WebInspector.WorkerConsole.prototype.info):
1672         (WebInspector.WorkerConsole.prototype._postMessage):
1673
1674 2012-05-24  Shinya Kawanaka  <shinyak@chromium.org>
1675
1676         Elements in Shadow DOM are not resizable.
1677         https://bugs.webkit.org/show_bug.cgi?id=87342
1678
1679         Reviewed by Ryosuke Niwa.
1680
1681         In RenderLayer::resize(), shadowAncestorNode() was used but if the ancestor node is used,
1682         it is not possible to resize elements in Shadow DOM.
1683
1684         The comments said it is necessary for textarea, however actually it is not necessary now.
1685         Existing test (fast/css/resize-corner-tracking) covers it.
1686
1687         Test: fast/dom/shadow/resize-in-shadow-dom.html
1688
1689         * rendering/RenderLayer.cpp:
1690         (WebCore::RenderLayer::resize):
1691
1692 2012-05-24  Antti Koivisto  <antti@apple.com>
1693
1694         Move StyleSheetContents to a separate file
1695         https://bugs.webkit.org/show_bug.cgi?id=87354
1696
1697         Reviewed by Eric Seidel.
1698
1699         Move StyleSheetContents class to StyleSheetContents.h/cpp.
1700
1701         * CMakeLists.txt:
1702         * GNUmakefile.list.am:
1703         * Target.pri:
1704         * WebCore.gypi:
1705         * WebCore.vcproj/WebCore.vcproj:
1706         * WebCore.xcodeproj/project.pbxproj:
1707         * css/CSSFontFaceSrcValue.cpp:
1708         * css/CSSGrammar.y:
1709         * css/CSSImportRule.cpp:
1710         * css/CSSParser.cpp:
1711         * css/CSSPrimitiveValue.cpp:
1712         * css/CSSRule.cpp:
1713         * css/CSSStyleSheet.cpp:
1714         (WebCore::CSSStyleSheet::create):
1715         (WebCore::CSSStyleSheet::href):
1716         (WebCore):
1717         (WebCore::CSSStyleSheet::baseURL):
1718         (WebCore::CSSStyleSheet::isLoading):
1719         * css/CSSStyleSheet.h:
1720         (WebCore):
1721         (CSSStyleSheet):
1722         * css/StylePropertySet.cpp:
1723         * css/StyleResolver.cpp:
1724         * css/StyleSheetContents.cpp: Copied from css/CSSStyleSheet.cpp.
1725         (WebCore):
1726         * css/StyleSheetContents.h: Copied from css/CSSStyleSheet.h.
1727         (WebCore):
1728         * dom/DOMImplementation.cpp:
1729         (WebCore::XMLMIMETypeRegExp::XMLMIMETypeRegExp):
1730         * dom/Document.cpp:
1731         * dom/ProcessingInstruction.cpp:
1732         * dom/StyleElement.cpp:
1733         * html/HTMLLinkElement.cpp:
1734         * html/HTMLStyleElement.cpp:
1735         * inspector/InspectorStyleSheet.cpp:
1736         * loader/cache/CachedCSSStyleSheet.cpp:
1737         * page/PageSerializer.cpp:
1738
1739 2012-05-24  Kristóf Kosztyó  <kkristof@inf.u-szeged.hu>
1740
1741         [Qt] Buildfix for the minimal build because the r118197 broke it.
1742         https://bugs.webkit.org/show_bug.cgi?id=87096
1743
1744         Reviewed by Csaba Osztrogonác.
1745
1746         * plugins/PluginData.cpp:
1747         (WebCore):
1748         (WebCore::PluginData::refresh):
1749         (WebCore::PluginData::initPlugins):
1750
1751 2012-05-23  Ilya Tikhonovsky  <loislo@chromium.org>
1752
1753         Unreviewed: Web Inspector single line fix for r118162.
1754
1755         * inspector/front-end/HeapSnapshotDataGrids.js:
1756         (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._populateChildren):
1757
1758 2012-05-23  Lu Guanqun  <guanqun.lu@intel.com>
1759
1760         sort the array 'non_wrapper_types'
1761         https://bugs.webkit.org/show_bug.cgi?id=87335
1762
1763         Reviewed by Kentaro Hara.
1764
1765         * bindings/scripts/CodeGeneratorV8.pm:
1766
1767 2012-05-23  Shinya Kawanaka  <shinyak@chromium.org>
1768
1769         Document.elementFromPoint exposes inner element of Shadow DOM.
1770         https://bugs.webkit.org/show_bug.cgi?id=87235
1771
1772         Reviewed by Dimitri Glazkov.
1773
1774         Document::elementFromPoint didn't consider nested Shadow DOM.
1775         The container node should be adjusted up to document TreeScope beyond ShadowRoot TreeScope.
1776
1777         Test: fast/dom/shadow/element-from-point-in-nested-shadow.html
1778
1779         * dom/Document.cpp:
1780         (WebCore::Document::elementFromPoint):
1781
1782 2012-05-23  Sheriff Bot  <webkit.review.bot@gmail.com>
1783
1784         Unreviewed, rolling out r118297.
1785         http://trac.webkit.org/changeset/118297
1786         https://bugs.webkit.org/show_bug.cgi?id=87338
1787
1788         It caused several layout failures on Mac (Requested by
1789         sundiamonde on #webkit).
1790
1791         * rendering/RenderBlock.cpp:
1792         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
1793
1794 2012-05-23  Shinya Kawanaka  <shinyak@chromium.org>
1795
1796         Document.caretRangeFromPoint exposes inner elemnet of Shadow DOM.
1797         https://bugs.webkit.org/show_bug.cgi?id=87231
1798
1799         Reviewed by Dimitri Glazkov.
1800
1801         Document::caretRangeFromPoint didn't consider nested Shadow DOM.
1802         The container node should be adjusted up to document TreeScope beyond ShadowRoot TreeScope.
1803
1804         Test: fast/dom/shadow/caret-range-from-point-in-nested-shadow.html
1805
1806         * dom/Document.cpp:
1807         (WebCore::Document::caretRangeFromPoint):
1808
1809 2012-05-23  Julien Chaffraix  <jchaffraix@webkit.org>
1810
1811         Crash in RenderTableCol::nextColumn
1812         https://bugs.webkit.org/show_bug.cgi?id=87314
1813
1814         Reviewed by Abhishek Arya.
1815
1816         Tests: fast/table/canvas-column-in-column-group.html
1817                fast/table/columngroup-inside-columngroup.html
1818
1819         The issue comes from elements not abiding by the display property (e.g. canvas). This means
1820         that any renderer with display: table-column would pass the current isChildAllowed check and
1821         would confuse our algorithm to iterate.
1822
1823         We were getting away with allowing those children as table columns or column groups don't
1824         paint themselves but it's better to just not allow such children in the first place.
1825
1826         * rendering/RenderTableCol.cpp:
1827         (WebCore::RenderTableCol::isChildAllowed):
1828         Fixed the logic to only accept proper column renderer (RenderTableCol with display: column
1829         to ignore column-groups). Also removed an unneeded NULL-check.
1830
1831 2012-05-23  Jer Noble  <jer.noble@apple.com>
1832
1833         REGRESSION: compositing/video/video-poster.html fails on Mac
1834         https://bugs.webkit.org/show_bug.cgi?id=87199
1835
1836         Reviewed by Maciej Stachowiak.
1837
1838         No new tests; fixes failing compositing/video/video-poster.html test.
1839
1840         Instead of creating the video layer directly, simply allow the layer
1841         to be created in updateStates() by changing the definition of
1842         isReadyForVideoSetup() to bypass the m_isAllowedToRender check if
1843         the player reports a video track is present.  This causes the video layer
1844         to be created and for future calls to prepareForRendering() to result
1845         in calls to mediaPlayerRenderingModeChanged().
1846
1847         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1848         (WebCore::MediaPlayerPrivateAVFoundation::isReadyForVideoSetup):
1849         (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded):
1850
1851 2012-05-23  Nico Weber  <thakis@chromium.org>
1852
1853         [chromium/mac] Unbreak popup menus.
1854         https://bugs.webkit.org/show_bug.cgi?id=87325
1855
1856         Reviewed by David Levin.
1857
1858         http://svn.webkit.org/repository/webkit/trunk@117607 added this function, but the
1859         Chromium/Mac build doesn't use the file added in that change and hence didn't have
1860         the category method.. Adding it doesn't help, as the category calls a
1861         10.7-only function. Just don't use the category for chromium/mac. Fixes
1862         http://crbug.com/129418
1863
1864         * platform/mac/WebCoreNSCellExtras.h:
1865
1866 2012-05-23  Ojan Vafai  <ojan@chromium.org>
1867
1868         add back the ability to disable flexbox
1869         https://bugs.webkit.org/show_bug.cgi?id=87147
1870
1871         Reviewed by Tony Chang.
1872
1873         * Configurations/FeatureDefines.xcconfig:
1874         * css/CSSParser.cpp:
1875         (WebCore::isValidKeywordPropertyAndValue):
1876
1877 2012-05-23  Shinya Kawanaka  <shinyak@chromium.org>
1878
1879         [Shadow] mousewheel event isn't fired on nodes in Shadow DOM.
1880         https://bugs.webkit.org/show_bug.cgi?id=87218
1881
1882         Reviewed by Dimitri Glazkov.
1883
1884         EventHander::handleWheelEvent re-targets an event to a shadow ancestor node,
1885         however it should be done by adjusting event target. So we don't need to have it.
1886
1887         Tests: fast/dom/shadow/wheel-event-in-shadow-dom.html
1888                fast/dom/shadow/wheel-event-on-input-in-shadow-dom.html
1889
1890         * page/EventHandler.cpp:
1891         (WebCore::EventHandler::handleWheelEvent):
1892
1893 2012-05-23  Huang Dongsung  <luxtella@company100.net>
1894
1895         Remove an unused setter in CachedResource.h.
1896         https://bugs.webkit.org/show_bug.cgi?id=87324
1897
1898         CachedResource::setInLiveDecodedResourcesList was defined in r24925, but it has
1899         been unused.
1900
1901         Reviewed by Darin Adler.
1902
1903         * loader/cache/CachedResource.h:
1904
1905 2012-05-23  Hayato Ito  <hayato@chromium.org>
1906
1907         Adjust a target node of a mouse event correctly when a distributed text node is clicked.
1908         https://bugs.webkit.org/show_bug.cgi?id=86999
1909
1910         Reviewed by Dimitri Glazkov.
1911
1912         Make EventHandler::updateMouseEventTargetNode() be aware of shadow dom subtree
1913         so that an insertion point can receive an event when a distributed text node is clicked.
1914
1915         Tests: fast/dom/shadow/shadow-dom-event-dispatching.html
1916
1917         * page/EventHandler.cpp:
1918         (WebCore::EventHandler::updateMouseEventTargetNode):
1919
1920 2012-05-23  Shinya Kawanaka  <shinyak@chromium.org>
1921
1922         [Shadow] drop event is not fired on nodes in Shadow DOM
1923         https://bugs.webkit.org/show_bug.cgi?id=85774
1924
1925         Reviewed by Dimitri Glazkov.
1926
1927         EventHander::updateDragAndDrop re-targets an event to a shadow ancestor node,
1928         however it should be done by adjusting event target. So we don't need to have it.
1929
1930         Tests: fast/dom/shadow/drop-event-for-input-in-shadow.html
1931                fast/dom/shadow/drop-event-in-shadow.html
1932
1933         * page/EventHandler.cpp:
1934         (WebCore::EventHandler::updateDragAndDrop):
1935
1936 2012-05-23  Emil A Eklund  <eae@chromium.org>
1937
1938         REGRESSION (115573): Incorrect rounding of margins for floats
1939         https://bugs.webkit.org/show_bug.cgi?id=87319
1940
1941         Reviewed by Eric Seidel.
1942
1943         In RenderBlock::computeInlinePreferredLogicalWidths we used a float to
1944         accumulate margins for floating children while the children themselves
1945         represent their margins as LayoutUnits. Due to lack of rounding this can
1946         cause the block to be too small at certain certain zoom levels, causing
1947         unwanted wrapping. 
1948
1949         This patch changes computeInlinePreferredLogicalWidths to use a
1950         LayoutUnit to accumulate the margins and thus ensures that the margin
1951         values are rounded the same way.
1952
1953         Test: fast/block/float/floats-with-margin-should-not-wrap.html
1954
1955         * rendering/RenderBlock.cpp:
1956         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
1957
1958 2012-05-23  Huang Dongsung  <luxtella@company100.net>
1959
1960         Remove unused declarations in MemoryCache.h
1961         https://bugs.webkit.org/show_bug.cgi?id=87323
1962
1963         It is originated from r75912.
1964
1965         Reviewed by Darin Adler.
1966
1967         * loader/cache/MemoryCache.h:
1968
1969 2012-05-23  Eric Seidel  <eric@webkit.org>
1970
1971         Add seamless layout code (and pass most of the remaining seamless tests)
1972         https://bugs.webkit.org/show_bug.cgi?id=86608
1973
1974         Reviewed by Ojan Vafai.
1975
1976         This patch contains almost all the layout changes needed for seamless iframes.
1977         I removed the scroll-bar avoiding code at the last moment, as it didn't
1978         work for platforms other than mac-lion.  I'll add that, as well as the
1979         HTMLIFrameElement.seamless idl attribute in a follow-up patch.
1980
1981         Seamless iframes piggy-back a bit on the existing frame-flattening
1982         logic, however seamless is different from frame-flattening in a few ways:
1983         - Frame flattening can only ever make an iframe larger (seamless just behaves like a normal div).
1984         - Frame flattening disables scrollbars (seamless frames behave like normal overflow: auto divs).
1985         - Seamless only has to work with iframes (flattening works with frame/frameset as well).
1986         - Seamless support shrink-wrap size negotiation when the iframe is inline.
1987
1988         Test: fast/frames/seamless/seamless-percent-height.html
1989
1990         * css/StyleResolver.cpp:
1991         (WebCore::StyleResolver::adjustRenderStyle): map inline -> inline-block for seamless iframes.
1992         * dom/Document.cpp:
1993         (WebCore::Document::scheduleStyleRecalc):
1994          - Seamless iframes don't manage their own style recalc.
1995         (WebCore::Document::recalcStyle):
1996          - We should make sure our parent is resolved before we are, but currently that causes some tests to crash
1997            I don't have a test to demonstrate this need yet, as presumably it's fulfilled through other codepaths atm.
1998         * page/FrameView.cpp:
1999         (WebCore::FrameView::scheduleRelayout): Do the cheaper check first.
2000         (WebCore::FrameView::isInChildFrameWithFrameFlattening): Make frameview layout abort child layouts like how frame flattening does.
2001         * rendering/RenderBox.h:
2002         (WebCore::RenderBox::stretchesToViewport): Disable the stretch-to-viewport quirk for seamless iframes (it makes no sense and breaks the layout code).
2003         * rendering/RenderIFrame.cpp:
2004         (WebCore::RenderIFrame::computeLogicalHeight):
2005          - This function is needed for the child document to participate in the normal block shrink-wrap algorithm.
2006            Thankfully all the shrink-wrap logic is in RenderBox instead of RenderBlock. In the future we may make
2007            RenderIframe a RenderBlock for the seamless case. We may just split RenderIframe into two renderers.
2008         (WebCore::RenderIFrame::computeLogicalWidth):
2009         (WebCore::RenderIFrame::shouldComputeSizeAsReplaced):
2010          - seamless iframes behave like blocks, not inline replaced elements.
2011         (WebCore):
2012         (WebCore::RenderIFrame::isInlineBlockOrInlineTable):
2013          - Behave like an inline-block when marked inline.
2014         (WebCore::RenderIFrame::minPreferredLogicalWidth):
2015          - When asked for our pref widths, return those of our child document.
2016         (WebCore::RenderIFrame::maxPreferredLogicalWidth):
2017         (WebCore::RenderIFrame::isSeamless): helper function
2018         (WebCore::RenderIFrame::contentRootRenderer): helper function
2019         (WebCore::RenderIFrame::flattenFrame): seamless iframes never use the frame-flattening feature.
2020         (WebCore::RenderIFrame::layoutSeamlessly): The guts of seamless layout.
2021         (WebCore::RenderIFrame::layout):
2022         * rendering/RenderIFrame.h:
2023         (WebCore):
2024         (RenderIFrame):
2025
2026 2012-05-23  Rafael Brandao  <rafael.lobo@openbossa.org>
2027
2028         [Qt] GraphicsContext should avoid converting rotation angle to degrees
2029         https://bugs.webkit.org/show_bug.cgi?id=87317
2030
2031         Reviewed by Noam Rosenthal.
2032
2033         The angle for rotate is already in radians, so we should take advantage of it
2034         by using QTransform::rotateRadians, rather than converting it back internally.
2035
2036         * platform/graphics/qt/GraphicsContextQt.cpp:
2037         (WebCore::GraphicsContext::rotate):
2038
2039 2012-05-23  David Tseng  <dtseng@google.com>
2040
2041         AX: Prevents assertion from potentially dereferencing null pointer.
2042         https://bugs.webkit.org/show_bug.cgi?id=87290
2043
2044         Reviewed by Chris Fleizach.
2045
2046         Changes to assertions. Coverage by existing tests.
2047
2048         * accessibility/AccessibilityTable.cpp:
2049         (WebCore::AccessibilityTable::cellForColumnAndRow):
2050
2051 2012-05-23  Tony Chang  <tony@chromium.org>
2052
2053         auto margins on flexbox should allocate space in the cross direction
2054         https://bugs.webkit.org/show_bug.cgi?id=86913
2055
2056         Reviewed by Ojan Vafai.
2057
2058         Test: css3/flexbox/auto-margins.html
2059
2060         * rendering/RenderFlexibleBox.cpp:
2061         (WebCore::RenderFlexibleBox::hasAutoMarginsInCrossAxis):
2062         (WebCore):
2063         (WebCore::RenderFlexibleBox::updateAutoMarginsInCrossAxis):
2064         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): If we have flex-align: baseline and auto margins, we ignore flex-align: baseline.
2065         (WebCore::RenderFlexibleBox::alignChildren): auto margins apply before flex-align.
2066         * rendering/RenderFlexibleBox.h:
2067
2068 2012-05-23  Kentaro Hara  <haraken@chromium.org>
2069
2070         Unreviewed, rolling out r118120.
2071         http://trac.webkit.org/changeset/118120
2072         https://bugs.webkit.org/show_bug.cgi?id=87193
2073
2074         some LayoutTests crash since the patch passes a NULL to
2075         Null(isolate)
2076
2077         * bindings/scripts/CodeGeneratorV8.pm:
2078         (GenerateHeader):
2079         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
2080         (WebCore::toV8):
2081         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
2082         (WebCore::toV8):
2083         * bindings/scripts/test/V8/V8TestEventConstructor.h:
2084         (WebCore::toV8):
2085         * bindings/scripts/test/V8/V8TestEventTarget.h:
2086         (WebCore::toV8):
2087         * bindings/scripts/test/V8/V8TestException.h:
2088         (WebCore::toV8):
2089         * bindings/scripts/test/V8/V8TestInterface.h:
2090         (WebCore::toV8):
2091         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
2092         (WebCore::toV8):
2093         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
2094         (WebCore::toV8):
2095         * bindings/scripts/test/V8/V8TestNode.h:
2096         (WebCore::toV8):
2097         * bindings/scripts/test/V8/V8TestObj.h:
2098         (WebCore::toV8):
2099         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
2100         (WebCore::toV8):
2101
2102 2012-05-23  Kentaro Hara  <haraken@chromium.org>
2103
2104         Unreviewed, rolling out r118129.
2105         http://trac.webkit.org/changeset/118129
2106         https://bugs.webkit.org/show_bug.cgi?id=87202
2107
2108         some LayoutTests crash since the patch passes a NULL to
2109         Null(isolate)
2110
2111         * bindings/scripts/CodeGeneratorV8.pm:
2112         (GenerateNormalAttrGetter):
2113         (GenerateFunctionCallback):
2114         (NativeToJSValue):
2115         * bindings/scripts/test/V8/V8TestObj.cpp:
2116         (WebCore::TestObjV8Internal::contentDocumentAttrGetter):
2117         (WebCore::TestObjV8Internal::getSVGDocumentCallback):
2118         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2119         (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrGetter):
2120         (WebCore::TestSerializedScriptValueInterfaceV8Internal::readonlyValueAttrGetter):
2121         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetter):
2122         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetter):
2123
2124 2012-05-23  Kentaro Hara  <haraken@chromium.org>
2125
2126         Unreviewed, rolling out r118133.
2127         http://trac.webkit.org/changeset/118133
2128         https://bugs.webkit.org/show_bug.cgi?id=87207
2129
2130         some LayoutTests crash since the patch passes a NULL to
2131         Null(isolate)
2132
2133         * bindings/v8/custom/V8BlobCustom.cpp:
2134         (WebCore::toV8):
2135         * bindings/v8/custom/V8CSSRuleCustom.cpp:
2136         (WebCore::toV8):
2137         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
2138         (WebCore::toV8):
2139         * bindings/v8/custom/V8CSSValueCustom.cpp:
2140         (WebCore::toV8):
2141         * bindings/v8/custom/V8ClipboardCustom.cpp:
2142         (WebCore::V8Clipboard::typesAccessorGetter):
2143         * bindings/v8/custom/V8CoordinatesCustom.cpp:
2144         (WebCore::V8Coordinates::altitudeAccessorGetter):
2145         (WebCore::V8Coordinates::altitudeAccuracyAccessorGetter):
2146         (WebCore::V8Coordinates::headingAccessorGetter):
2147         (WebCore::V8Coordinates::speedAccessorGetter):
2148         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
2149         (WebCore::toV8):
2150         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
2151         (WebCore::toV8):
2152         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2153         (WebCore::toV8):
2154         * bindings/v8/custom/V8DataViewCustom.cpp:
2155         (WebCore::toV8):
2156         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
2157         (WebCore::V8DeviceMotionEvent::accelerationAccessorGetter):
2158         (WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAccessorGetter):
2159         (WebCore::V8DeviceMotionEvent::rotationRateAccessorGetter):
2160         (WebCore::V8DeviceMotionEvent::intervalAccessorGetter):
2161         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
2162         (WebCore::V8DeviceOrientationEvent::alphaAccessorGetter):
2163         (WebCore::V8DeviceOrientationEvent::betaAccessorGetter):
2164         (WebCore::V8DeviceOrientationEvent::gammaAccessorGetter):
2165         (WebCore::V8DeviceOrientationEvent::absoluteAccessorGetter):
2166         * bindings/v8/custom/V8DocumentCustom.cpp:
2167         (WebCore::toV8):
2168         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
2169         (WebCore::V8Document::locationAccessorGetter):
2170         * bindings/v8/custom/V8EntryCustom.cpp:
2171         (WebCore::toV8):
2172         * bindings/v8/custom/V8EntrySyncCustom.cpp:
2173         (WebCore::toV8):
2174         * bindings/v8/custom/V8EventCustom.cpp:
2175         (WebCore::toV8):
2176         * bindings/v8/custom/V8Float32ArrayCustom.cpp:
2177         (WebCore::toV8):
2178         * bindings/v8/custom/V8Float64ArrayCustom.cpp:
2179         (WebCore::toV8):
2180         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2181         (WebCore::V8HTMLCanvasElement::getContextCallback):
2182         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2183         (WebCore::toV8):
2184
2185 2012-05-23  Kentaro Hara  <haraken@chromium.org>
2186
2187         Unreviewed, rolling out r118134.
2188         http://trac.webkit.org/changeset/118134
2189         https://bugs.webkit.org/show_bug.cgi?id=87209
2190
2191         some LayoutTests crash since the patch passes a NULL to
2192         Null(isolate)
2193
2194         * bindings/v8/custom/V8HTMLElementCustom.cpp:
2195         (WebCore::toV8Object):
2196         (WebCore::toV8):
2197         * bindings/v8/custom/V8HistoryCustom.cpp:
2198         (WebCore::V8History::stateAccessorGetter):
2199         * bindings/v8/custom/V8IDBAnyCustom.cpp:
2200         (WebCore::toV8):
2201         * bindings/v8/custom/V8IDBKeyCustom.cpp:
2202         (WebCore::toV8):
2203         * bindings/v8/custom/V8ImageDataCustom.cpp:
2204         (WebCore::toV8):
2205         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
2206         (WebCore::toV8):
2207         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
2208         (WebCore::toV8):
2209         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
2210         (WebCore::toV8):
2211         * bindings/v8/custom/V8LocationCustom.cpp:
2212         (WebCore::toV8):
2213         * bindings/v8/custom/V8MessageEventCustom.cpp:
2214         (WebCore::V8MessageEvent::dataAccessorGetter):
2215         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
2216         (WebCore::toV8):
2217         * bindings/v8/custom/V8NodeCustom.cpp:
2218         (WebCore::V8Node::insertBeforeCallback):
2219         (WebCore::V8Node::replaceChildCallback):
2220         (WebCore::V8Node::removeChildCallback):
2221         (WebCore::V8Node::appendChildCallback):
2222         (WebCore::toV8Slow):
2223         * bindings/v8/custom/V8PopStateEventCustom.cpp:
2224         (WebCore::V8PopStateEvent::stateAccessorGetter):
2225         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
2226         (WebCore::V8SQLResultSetRowList::itemCallback):
2227         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
2228         (WebCore::toV8):
2229         * bindings/v8/custom/V8SVGElementCustom.cpp:
2230         (WebCore::toV8):
2231         * bindings/v8/custom/V8SVGPathSegCustom.cpp:
2232         (WebCore::toV8):
2233         * bindings/v8/custom/V8ScriptProfileCustom.cpp:
2234         (WebCore::toV8):
2235         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
2236         (WebCore::toV8):
2237         * bindings/v8/custom/V8StyleSheetCustom.cpp:
2238         (WebCore::toV8):
2239         * bindings/v8/custom/V8TrackEventCustom.cpp:
2240         (WebCore::V8TrackEvent::trackAccessorGetter):
2241         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
2242         (WebCore::toV8):
2243         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
2244         (WebCore::toV8):
2245         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
2246         (WebCore::toV8):
2247         * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
2248         (WebCore::toV8):
2249         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2250         (WebCore::toV8Object):
2251         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
2252         (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):
2253         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2254         (WebCore::toV8):
2255
2256 2012-05-23  James Robinson  <jamesr@chromium.org>
2257
2258         Add a Setting to make position:fixed form a new stacking context
2259         https://bugs.webkit.org/show_bug.cgi?id=87186
2260
2261         Reviewed by Adam Barth.
2262
2263         position:fixed elements form a new stacking context in several mobile WebKit ports and in the Qt port always. To
2264         be consistent across devices, we want to try turning it on everywhere. This will likely cause compatibility
2265         issues, so we need a runtime setting in order to stage the change carefully.
2266
2267         Tests: fast/block/positioning/fixed-position-stacking-context.html
2268                fast/block/positioning/fixed-position-stacking-context2.html
2269
2270         * css/StyleResolver.cpp:
2271         (WebCore::StyleResolver::collectMatchingRulesForList):
2272         * page/Settings.cpp:
2273         (WebCore::Settings::Settings):
2274         * page/Settings.h:
2275         (WebCore::Settings::setFixedPositionCreatesStackingContext):
2276         (WebCore::Settings::fixedPositionCreatesStackingContext):
2277         (Settings):
2278         * testing/InternalSettings.cpp:
2279         (WebCore::InternalSettings::InternalSettings):
2280         (WebCore::InternalSettings::restoreTo):
2281         (WebCore::InternalSettings::setFixedPositionCreatesStackingContext):
2282         (WebCore):
2283         * testing/InternalSettings.h:
2284         (InternalSettings):
2285         * testing/InternalSettings.idl:
2286
2287 2012-05-23  Michael Nordman  <michaeln@google.com>
2288
2289         [chromium] DomStorage events handling needs TLC (3)
2290         https://bugs.webkit.org/show_bug.cgi?id=87031
2291         https://code.google.com/p/chromium/issues/detail?id=128482
2292         Create WebCore::Storage instances as a side effect of attaching storage event handlers.
2293         This allows storage events in chromium to be propagated with less IPC chatter.
2294
2295         Worth noting that in non-chromium ports, creation of the localStorage instance can have
2296         an additional side effect of scheduling a background task to read the area's values
2297         from disk, which given the interest in events is probably a beneficial side effect.
2298
2299         Reviewed by Adam Barth.
2300
2301         No new tests. Existing tests cover this.
2302
2303         * page/DOMWindow.cpp:
2304         (WebCore::didAddStorageEventListener):
2305         (WebCore::DOMWindow::addEventListener):
2306
2307 2012-05-23  Michael Saboff  <msaboff@apple.com>
2308
2309         Crash in fast/files/read tests during Garbage Collection
2310         https://bugs.webkit.org/show_bug.cgi?id=87165
2311
2312         Reviewed by Alexey Proskuryakov.
2313
2314         Changed hasPendingActivity() processing to use ActiveDOMObject::hasPendingActivity()
2315         and associated setPendingActivity() / unsetPendingActivity().
2316
2317         Fixed two existing tests with change.
2318
2319         * Modules/filesystem/FileWriter.cpp:
2320         (WebCore::FileWriter::stop):
2321         (WebCore::FileWriter::write):
2322         (WebCore::FileWriter::truncate):
2323         (WebCore::FileWriter::signalCompletion):
2324         * Modules/filesystem/FileWriter.h:
2325         * fileapi/FileReader.cpp:
2326         (WebCore::FileReader::readInternal):
2327         (WebCore::FileReader::doAbort):
2328         (WebCore::FileReader::didFinishLoading):
2329         (WebCore::FileReader::didFail):
2330         * fileapi/FileReader.h:
2331
2332 2012-05-23  Abhishek Arya  <inferno@chromium.org>
2333
2334         Crash in run-ins with continuations while moving back to original position.
2335         https://bugs.webkit.org/show_bug.cgi?id=87264
2336
2337         Reviewed by Julien Chaffraix.
2338
2339         Run-in that are now placed in sibling block can break up into continuation
2340         chains when new children are added to it. We cannot easily send them back to their
2341         original place since that requires writing integration logic with RenderInline::addChild
2342         and all other places that might cause continuations to be created (without blowing away
2343         |this|). Disabling this feature for now to prevent crashes.
2344
2345         Test: fast/runin/runin-continuations-crash.html
2346
2347         * rendering/RenderBlock.cpp:
2348         (WebCore::RenderBlock::moveRunInToOriginalPosition):
2349
2350 2012-05-23  Abhishek Arya  <inferno@chromium.org>
2351
2352         Crash in RenderInline::linesVisualOverflowBoundingBox.
2353         https://bugs.webkit.org/show_bug.cgi?id=85804
2354
2355         Reviewed by Dave Hyatt.
2356
2357         Defer layout of replaced elements to the next line break function.
2358         We shouldn't do it while we are clearing our inline chilren
2359         lineboxes in full layout mode.
2360
2361         Test: fast/block/inline-children-root-linebox-crash.html
2362
2363         * rendering/RenderBlockLineLayout.cpp:
2364         (WebCore::RenderBlock::layoutInlineChildren):
2365         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
2366
2367 2012-05-23  Chris Rogers  <crogers@google.com>
2368
2369         AudioParam must support fan-in (multiple audio connections) (take 2)
2370         https://bugs.webkit.org/show_bug.cgi?id=83610
2371
2372         Reviewed by Kenneth Russell.
2373         
2374         This re-lands bug: https://bugs.webkit.org/show_bug.cgi?id=83610
2375         Now that a fix has been landed: http://trac.webkit.org/changeset/118099
2376
2377         Test: webaudio/audioparam-summingjunction.html
2378
2379         * Modules/webaudio/AudioParam.cpp:
2380         * Modules/webaudio/AudioParam.h:
2381         (WebCore::AudioParam::calculateSampleAccurateValues):
2382         (WebCore::AudioParam::calculateAudioRateSignalValues):
2383         Sums intrinsic parameter value with all audio-rate connections.
2384         
2385         (WebCore::AudioParam::connect):
2386         (WebCore::AudioParam::disconnect):
2387         Support multiple connections.
2388         
2389         (WebCore::AudioParam::hasSampleAccurateValues):
2390         If we have one or more audio-rate connections.
2391         
2392         (WebCore::AudioParam::AudioParam):
2393         AudioParam now sub-classes AudioSummingJunction.
2394
2395 2012-05-23  Christophe Dumez  <christophe.dumez@intel.com>
2396
2397         [EFL] webintents/web-intents-delivery-reuse.html is failing on EFL port
2398         https://bugs.webkit.org/show_bug.cgi?id=87092
2399
2400         Reviewed by Adam Barth.
2401
2402         Remove readonly keyword from the webkitIntent attribute. This is
2403         needed otherwise the [Replaceable] extended attribute has not effect
2404         with JSC. This is tested by webintents/web-intents-delivery-reuse.html
2405         test case.
2406
2407         * Modules/intents/DOMWindowIntents.idl:
2408
2409 2012-05-23  Abhishek Arya  <inferno@chromium.org>
2410
2411         ASSERT failure toRenderProgress in HTMLProgressElement::didElementStateChange
2412         https://bugs.webkit.org/show_bug.cgi?id=87274
2413
2414         Reviewed by Darin Adler.
2415
2416         Progress bar can't run-in. Prevent it from becoming a run-in, leading to an
2417         unworkable RenderInline.
2418
2419         Test: fast/runin/progress-run-in-crash.html
2420
2421         * html/HTMLProgressElement.cpp:
2422         (WebCore::HTMLProgressElement::didElementStateChange):
2423         * rendering/RenderBlock.cpp:
2424         (WebCore::RenderBlock::moveRunInUnderSiblingBlockIfNeeded):
2425
2426 2012-05-23  Andrew Lo  <anlo@rim.com>
2427
2428         [BlackBerry] UI thread unnecessarily blocks on WebKit thread when servicing requestAnimationFrames
2429         https://bugs.webkit.org/show_bug.cgi?id=87289
2430
2431         Reviewed by Antonio Gomes.
2432
2433         requestAnimationFrame already covered by tests in LayoutTests/fast/animation.
2434
2435         If UI thread cannot acquire DisplayRefreshMonitor mutex immediately,
2436         avoid blocking on the mutex, it can trigger the frame change on the next
2437         animation tick instead.
2438
2439         * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
2440         (WebCore::DisplayRefreshMonitor::displayLinkFired):
2441
2442 2012-05-23  Alec Flett  <alecflett@chromium.org>
2443
2444         Implement DOM4 DOMError
2445         https://bugs.webkit.org/show_bug.cgi?id=87055
2446
2447         Reviewed by Adam Barth.
2448
2449         Implement the DOMError class and it's IDL interface.
2450
2451         No new tests. Not testable yet, as it's not used.
2452
2453         * WebCore.gypi:
2454         * dom/DOMError.cpp: Added.
2455         (WebCore):
2456         (WebCore::DOMError::DOMError):
2457         * dom/DOMError.h: Added.
2458         (WebCore):
2459         (DOMError):
2460         (WebCore::DOMError::create):
2461         (WebCore::DOMError::name):
2462         * dom/DOMError.idl: Added.
2463
2464 2012-05-23  Kenneth Russell  <kbr@google.com>
2465
2466         REGRESSION(117918) - 4 webgl/tex-iomage-and-sub-image-2d-with-image tests failing on Mac bots.
2467         https://bugs.webkit.org/show_bug.cgi?id=87136
2468
2469         Reviewed by Stephen White.
2470
2471         Fixed longstanding bug in GraphicsContext3D constructor in Mac
2472         port, and logic error in tracking of texture bound to unit 0. Also
2473         fixed up Cairo port's constructor by code inspection. This code is
2474         ripe for cleanup; Bug 87198 filed for this.
2475
2476         Covered by existing tests.
2477
2478         * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
2479         (WebCore::GraphicsContext3D::GraphicsContext3D):
2480             Initialize missing members.
2481         * platform/graphics/mac/GraphicsContext3DMac.mm:
2482         (WebCore::GraphicsContext3D::GraphicsContext3D):
2483             Correctly initialize m_activeTexture.
2484         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2485         (WebCore::GraphicsContext3D::bindTexture):
2486             Fix logic error in tracking of texture bound to unit 0.
2487
2488 2012-05-23  Dana Jansens  <danakj@chromium.org>
2489
2490         [chromium] Layers on main thread should get a RenderSurface for animating transform only if masksToBounds is true also
2491         https://bugs.webkit.org/show_bug.cgi?id=87184
2492
2493         Reviewed by James Robinson.
2494
2495         Layers on main thread get a RenderSurface if their impl counterpart may
2496         have a RenderSurface due to its animating transform. We currently create
2497         a RenderSurface for all layers with an animating transform and
2498         a descendant that drawsContents. But a RenderSurface on impl also
2499         implies that the layer masksToBounds. So only make a RenderSurface on
2500         main thread when the layer also masksToBounds.
2501
2502         Modified unit test CCLayerTreeHostCommonTest.verifyAnimationsForRenderSurfaceHierarchy.
2503
2504         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2505         (WebCore::subtreeShouldRenderToSeparateSurface):
2506
2507 2012-05-23  Chris Fleizach  <cfleizach@apple.com>
2508
2509         Regression(r112694): Crash in WebCore::AXObjectCache::postNotification 
2510         https://bugs.webkit.org/show_bug.cgi?id=86029
2511
2512         Reviewed by Abhishek Arya.
2513
2514         Test: accessibility/content-changed-notification-causes-crash.html
2515
2516         * accessibility/AccessibilityObject.h:
2517         (WebCore::AccessibilityObject::isDetached):
2518         (AccessibilityObject):
2519         * accessibility/AccessibilityRenderObject.cpp:
2520         (WebCore::AccessibilityRenderObject::contentChanged):
2521
2522 2012-05-23  Robin Dunn  <robin@alldunn.com>
2523
2524         [wx] Fix memory leak in FontHolder.
2525         https://bugs.webkit.org/show_bug.cgi?id=87281
2526
2527         Reviewed by Kevin Ollivier.
2528
2529         * platform/graphics/wx/FontPlatformData.h:
2530
2531 2012-05-23  Robin Dunn  <robin@alldunn.com>
2532
2533         [wx] Make sure we do not create a substitute font if the facename is not found.
2534         https://bugs.webkit.org/show_bug.cgi?id=87280
2535
2536         Reviewed by Kevin Ollivier.
2537
2538         * platform/graphics/wx/FontCacheWx.cpp:
2539         (WebCore::FontCache::createFontPlatformData):
2540
2541 2012-05-23  Robin Dunn  <robin@alldunn.com>
2542
2543         [wx] Implement transparency layer support.
2544         https://bugs.webkit.org/show_bug.cgi?id=87279
2545
2546         Reviewed by Kevin Ollivier.
2547
2548         * platform/graphics/wx/GraphicsContextWx.cpp:
2549         (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
2550         (WebCore::GraphicsContext::endPlatformTransparencyLayer):
2551         (WebCore::GraphicsContext::supportsTransparencyLayers):
2552
2553 2012-05-23  Jer Noble  <jer.noble@apple.com>
2554
2555         GenericClock loses precision due to float->double conversion.
2556         https://bugs.webkit.org/show_bug.cgi?id=87227
2557
2558         Reviewed by Darin Adler.
2559
2560         No new tests; fixes media/media-controller-time.html on Chromium.
2561
2562         Only narrow to float after the entire calculation is complete. This requires now() and m_offset
2563         to be double-precision.
2564
2565         * platform/ClockGeneric.cpp:
2566         (ClockGeneric::currentTime): 
2567         (ClockGeneric::now): Make double-precision.
2568         * platform/ClockGeneric.h:
2569         (ClockGeneric): Make m_offset double-precision.
2570
2571 2012-05-22  Jer Noble  <jer.noble@apple.com>
2572
2573         PlatformClockCM has uninitialized m_rate member.
2574         https://bugs.webkit.org/show_bug.cgi?id=87217
2575
2576         Reviewed by Eric Carlson.
2577
2578         Test: media/media-controller-time.html
2579
2580         Initialize the m_rate member to a default of 1 (second-per-second), matching the implementation
2581         of ClockGeneric.
2582
2583         * platform/mac/PlatformClockCM.mm:
2584         (PlatformClockCM::PlatformClockCM):
2585
2586 2012-05-23  Sheriff Bot  <webkit.review.bot@gmail.com>
2587
2588         Unreviewed, rolling out r118096.
2589         http://trac.webkit.org/changeset/118096
2590         https://bugs.webkit.org/show_bug.cgi?id=87285
2591
2592         caused multiple crashes on the mac bots (Requested by
2593         jessieberlin on #webkit).
2594
2595         * dom/ContainerNodeAlgorithms.h:
2596
2597 2012-05-23  Darin Adler  <darin@apple.com>
2598
2599         Speed up traverseNextNode when called on a ContainerNode or Element
2600         https://bugs.webkit.org/show_bug.cgi?id=87224
2601
2602         Reviewed by Geoffrey Garen.
2603
2604         * dom/ContainerNode.h: Added overrides of traverseNextNode for ContainerNode.
2605         That way, when we know at compile time something is ContainerNode, we can
2606         skip a branch at the start of this hot function.
2607
2608 2012-05-23  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
2609
2610         Use PluginDataNone.cpp always when NETSCAPE_PLUGIN_API is OFF
2611         https://bugs.webkit.org/show_bug.cgi?id=87096
2612
2613         Reviewed by Andy Estes.
2614
2615         Fix a build error by adding an extra check in PluginData.cpp to use
2616         PluginStrategy only when NETSCAPE_PLUGIN_API is ON.
2617
2618         No new tests. This is only a build fix.
2619
2620         * plugins/PluginData.cpp:
2621         (WebCore):
2622
2623 2012-05-23  Malcolm MacLeod  <malcolm.macleod@tshwanedje.com>
2624
2625         [wx] Fix scrollbar drawing under wxGTK.
2626         https://bugs.webkit.org/show_bug.cgi?id=87150
2627
2628         Reviewed by Kevin Ollivier.
2629
2630         * platform/wx/wxcode/gtk/scrollbar_render.cpp:
2631         (wxRenderer_DrawScrollbar):
2632
2633 2012-05-23  Antti Koivisto  <antti@apple.com>
2634
2635         Rename StyleSheetInternal to StyleSheetContents
2636         https://bugs.webkit.org/show_bug.cgi?id=87272
2637
2638         Reviewed by Andreas Kling.
2639
2640         The name is more descriptive and the code reads better.
2641         
2642         Plain "StyleSheet" would be good too but that is a CSSOM type and the name can't be used without
2643         changing idl code generation and resolving bunch of other issues.
2644
2645         * css/CSSFontFaceSrcValue.cpp:
2646         (WebCore::CSSFontFaceSrcValue::addSubresourceStyleURLs):
2647         * css/CSSFontFaceSrcValue.h:
2648         (CSSFontFaceSrcValue):
2649         * css/CSSImportRule.cpp:
2650         (WebCore::StyleRuleImport::setCSSStyleSheet):
2651         (WebCore::StyleRuleImport::requestStyleSheet):
2652         * css/CSSImportRule.h:
2653         (WebCore):
2654         (WebCore::StyleRuleImport::parentStyleSheet):
2655         (WebCore::StyleRuleImport::setParentStyleSheet):
2656         (WebCore::StyleRuleImport::styleSheet):
2657         (StyleRuleImport):
2658         * css/CSSMediaRule.cpp:
2659         (WebCore::CSSMediaRule::insertRule):
2660         * css/CSSParser.cpp:
2661         (WebCore::CSSParser::parseSheet):
2662         (WebCore::CSSParser::parseRule):
2663         (WebCore::CSSParser::parseKeyframeRule):
2664         (WebCore::CSSParser::parseValue):
2665         (WebCore::CSSParser::parseSelector):
2666         (WebCore::CSSParser::parseDeclaration):
2667         (WebCore::CSSParser::setStyleSheet):
2668         (WebCore::CSSParser::parseFlowThread):
2669         * css/CSSParser.h:
2670         (WebCore):
2671         (CSSParser):
2672         * css/CSSPrimitiveValue.cpp:
2673         (WebCore::CSSPrimitiveValue::addSubresourceStyleURLs):
2674         * css/CSSPrimitiveValue.h:
2675         (CSSPrimitiveValue):
2676         * css/CSSReflectValue.cpp:
2677         (WebCore::CSSReflectValue::addSubresourceStyleURLs):
2678         * css/CSSReflectValue.h:
2679         (CSSReflectValue):
2680         * css/CSSRule.cpp:
2681         (WebCore::CSSRule::parserContext):
2682         * css/CSSStyleSheet.cpp:
2683         (WebCore::StyleSheetContents::estimatedSizeInBytes):
2684         (WebCore::StyleSheetContents::StyleSheetContents):
2685         (WebCore::StyleSheetContents::~StyleSheetContents):
2686         (WebCore::StyleSheetContents::isCacheable):
2687         (WebCore::StyleSheetContents::parserAppendRule):
2688         (WebCore::StyleSheetContents::ruleAt):
2689         (WebCore::StyleSheetContents::ruleCount):
2690         (WebCore::StyleSheetContents::clearCharsetRule):
2691         (WebCore::StyleSheetContents::clearRules):
2692         (WebCore::StyleSheetContents::parserSetEncodingFromCharsetRule):
2693         (WebCore::StyleSheetContents::wrapperInsertRule):
2694         (WebCore::StyleSheetContents::wrapperDeleteRule):
2695         (WebCore::StyleSheetContents::parserAddNamespace):
2696         (WebCore::StyleSheetContents::determineNamespace):
2697         (WebCore::StyleSheetContents::parseAuthorStyleSheet):
2698         (WebCore::StyleSheetContents::parseString):
2699         (WebCore::StyleSheetContents::parseStringAtLine):
2700         (WebCore::StyleSheetContents::isLoading):
2701         (WebCore::StyleSheetContents::checkLoaded):
2702         (WebCore::StyleSheetContents::notifyLoadedSheet):
2703         (WebCore::StyleSheetContents::startLoadingDynamicSheet):
2704         (WebCore::StyleSheetContents::rootStyleSheet):
2705         (WebCore::StyleSheetContents::singleOwnerNode):
2706         (WebCore::StyleSheetContents::singleOwnerDocument):
2707         (WebCore::StyleSheetContents::completeURL):
2708         (WebCore::StyleSheetContents::addSubresourceStyleURLs):
2709         (WebCore::StyleSheetContents::parentStyleSheet):
2710         (WebCore::StyleSheetContents::registerClient):
2711         (WebCore::StyleSheetContents::unregisterClient):
2712         (WebCore::StyleSheetContents::addedToMemoryCache):
2713         (WebCore::StyleSheetContents::removedFromMemoryCache):
2714         (WebCore::CSSStyleSheet::createInline):
2715         (WebCore::CSSStyleSheet::CSSStyleSheet):
2716         (WebCore::CSSStyleSheet::~CSSStyleSheet):
2717         (WebCore::CSSStyleSheet::willMutateRules):
2718         (WebCore::CSSStyleSheet::didMutateRules):
2719         (WebCore::CSSStyleSheet::reattachChildRuleCSSOMWrappers):
2720         (WebCore::CSSStyleSheet::length):
2721         (WebCore::CSSStyleSheet::item):
2722         (WebCore::CSSStyleSheet::rules):
2723         (WebCore::CSSStyleSheet::insertRule):
2724         (WebCore::CSSStyleSheet::deleteRule):
2725         (WebCore::CSSStyleSheet::cssRules):
2726         * css/CSSStyleSheet.h:
2727         (WebCore::StyleSheetContents::create):
2728         (StyleSheetContents):
2729         (WebCore::StyleSheetContents::copy):
2730         (WebCore::CSSStyleSheet::create):
2731         (WebCore::CSSStyleSheet::contents):
2732         (CSSStyleSheet):
2733         * css/CSSValue.cpp:
2734         (WebCore::CSSValue::addSubresourceStyleURLs):
2735         * css/CSSValue.h:
2736         (WebCore):
2737         (CSSValue):
2738         * css/CSSValueList.cpp:
2739         (WebCore::CSSValueList::addSubresourceStyleURLs):
2740         * css/CSSValueList.h:
2741         (CSSValueList):
2742         * css/PropertySetCSSStyleDeclaration.cpp:
2743         (WebCore::PropertySetCSSStyleDeclaration::contextStyleSheet):
2744         * css/PropertySetCSSStyleDeclaration.h:
2745         (WebCore):
2746         (PropertySetCSSStyleDeclaration):
2747         * css/StylePropertySet.cpp:
2748         (WebCore::StylePropertySet::setProperty):
2749         (WebCore::StylePropertySet::parseDeclaration):
2750         (WebCore::StylePropertySet::addSubresourceStyleURLs):
2751         * css/StylePropertySet.h:
2752         (WebCore):
2753         (StylePropertySet):
2754         * css/StyleResolver.cpp:
2755         (RuleSet):
2756         (WebCore):
2757         (WebCore::StyleResolver::StyleResolver):
2758         (WebCore::StyleResolver::addAuthorRulesAndCollectUserRulesFromSheets):
2759         (WebCore::StyleResolver::appendAuthorStylesheets):
2760         (WebCore::parseUASheet):
2761         (WebCore::StyleResolver::collectMatchingRulesForList):
2762         * css/StyleResolver.h:
2763         (StyleResolver):
2764         * css/WebKitCSSKeyframesRule.cpp:
2765         (WebCore::WebKitCSSKeyframesRule::insertRule):
2766         * dom/DOMImplementation.cpp:
2767         (WebCore::DOMImplementation::createCSSStyleSheet):
2768         * dom/Document.cpp:
2769         (WebCore::Document::recalcStyle):
2770         (WebCore::Document::updateBaseURL):
2771         (WebCore::Document::pageUserSheet):
2772         (WebCore::Document::pageGroupUserSheets):
2773         (WebCore::Document::addUserSheet):
2774         (WebCore::Document::testAddedStylesheetRequiresStyleRecalc):
2775         (WebCore::Document::analyzeStylesheetChange):
2776         (WebCore::styleSheetsUseRemUnits):
2777         * dom/Document.h:
2778         (WebCore):
2779         (Document):
2780         * dom/ElementAttributeData.cpp:
2781         (WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):
2782         * dom/ProcessingInstruction.cpp:
2783         (WebCore::ProcessingInstruction::setCSSStyleSheet):
2784         (WebCore::ProcessingInstruction::parseStyleSheet):
2785         * dom/StyleElement.cpp:
2786         (WebCore::StyleElement::createSheet):
2787         * dom/StyledElement.cpp:
2788         (WebCore::StyledElement::setInlineStyleProperty):
2789         (WebCore::StyledElement::addSubresourceAttributeURLs):
2790         (WebCore::StyledElement::addPropertyToAttributeStyle):
2791         * html/HTMLLinkElement.cpp:
2792         (WebCore::HTMLLinkElement::setCSSStyleSheet):
2793         (WebCore::HTMLLinkElement::styleSheetIsLoading):
2794         (WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
2795         * html/HTMLStyleElement.cpp:
2796         (WebCore::HTMLStyleElement::addSubresourceAttributeURLs):
2797         * inspector/InspectorStyleSheet.cpp:
2798         (WebCore::fillMediaListChain):
2799         (WebCore::InspectorStyle::setPropertyText):
2800         (WebCore::InspectorStyleSheet::styleSheetURL):
2801         (WebCore::InspectorStyleSheet::reparseStyleSheet):
2802         (WebCore::InspectorStyleSheet::ensureSourceData):
2803         (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
2804         * loader/cache/CachedCSSStyleSheet.cpp:
2805         (WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):
2806         (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):
2807         * loader/cache/CachedCSSStyleSheet.h:
2808         (WebCore):
2809         (CachedCSSStyleSheet):
2810         * page/PageSerializer.cpp:
2811         (WebCore::PageSerializer::serializeCSSStyleSheet):
2812
2813 2012-05-23  Darin Adler  <darin@apple.com>
2814
2815         Use ContainerNode instead of Node where possible
2816         https://bugs.webkit.org/show_bug.cgi?id=87220
2817
2818         Reviewed by Geoffrey Garen.
2819
2820         It's better to use a more specific type; in some cases we even generate
2821         more efficient code if we have a more specific type. Also, we want any
2822         type casts to be as close as possible to the corresponding type checks,
2823         so eliminating these uses of toContainerNode is a plus, also.
2824
2825         * dom/ContainerNodeAlgorithms.h: Changed insertionPoint to be a ContainerNode
2826         instead of a Node. Fixed spelling error "inseretions". Changed
2827         (WebCore::ChildFrameDisconnector::Target::Target): Changed type of frame owner
2828         element to HTMLFrameOwnerElement from Node.
2829
2830         * dom/DocumentType.cpp:
2831         (WebCore::DocumentType::insertedInto):
2832         (WebCore::DocumentType::removedFrom):
2833         * dom/DocumentType.h:
2834         * dom/Element.cpp:
2835         (WebCore::Element::insertedInto):
2836         (WebCore::Element::removedFrom):
2837         * dom/Element.h:
2838         * dom/Node.cpp:
2839         (WebCore::Node::insertedInto):
2840         (WebCore::Node::removedFrom):
2841         * dom/Node.h:
2842         * dom/ProcessingInstruction.cpp:
2843         (WebCore::ProcessingInstruction::insertedInto):
2844         (WebCore::ProcessingInstruction::removedFrom):
2845         * dom/ProcessingInstruction.h:
2846         * dom/ScriptElement.cpp:
2847         (WebCore::ScriptElement::insertedInto):
2848         * dom/ScriptElement.h:
2849         * html/FormAssociatedElement.cpp:
2850         (WebCore::FormAssociatedElement::insertedInto):
2851         (WebCore::FormAssociatedElement::removedFrom):
2852         * html/FormAssociatedElement.h:
2853         * html/HTMLBaseElement.cpp:
2854         (WebCore::HTMLBaseElement::insertedInto):
2855         (WebCore::HTMLBaseElement::removedFrom):
2856         * html/HTMLBaseElement.h:
2857         * html/HTMLBodyElement.cpp:
2858         (WebCore::HTMLBodyElement::insertedInto):
2859         (WebCore::HTMLBodyElement::didNotifyDescendantInsertions):
2860         * html/HTMLBodyElement.h:
2861         * html/HTMLFormControlElement.cpp:
2862         (WebCore::HTMLFormControlElement::insertedInto):
2863         (WebCore::HTMLFormControlElement::removedFrom):
2864         * html/HTMLFormControlElement.h:
2865         * html/HTMLFormElement.cpp:
2866         (WebCore::HTMLFormElement::insertedInto):
2867         (WebCore::HTMLFormElement::didNotifyDescendantInsertions):
2868         (WebCore::HTMLFormElement::removedFrom):
2869         * html/HTMLFormElement.h:
2870         * html/HTMLFrameElementBase.cpp:
2871         (WebCore::HTMLFrameElementBase::insertedInto):
2872         (WebCore::HTMLFrameElementBase::didNotifyDescendantInsertions):
2873         * html/HTMLFrameElementBase.h:
2874         * html/HTMLFrameSetElement.cpp:
2875         (WebCore::HTMLFrameSetElement::insertedInto):
2876         (WebCore::HTMLFrameSetElement::removedFrom):
2877         * html/HTMLFrameSetElement.h:
2878         * html/HTMLIFrameElement.cpp:
2879         (WebCore::HTMLIFrameElement::insertedInto):
2880         (WebCore::HTMLIFrameElement::removedFrom):
2881         * html/HTMLIFrameElement.h:
2882         * html/HTMLImageElement.cpp:
2883         (WebCore::HTMLImageElement::insertedInto):
2884         (WebCore::HTMLImageElement::removedFrom):
2885         * html/HTMLImageElement.h:
2886         * html/HTMLInputElement.cpp:
2887         (WebCore::HTMLInputElement::insertedInto):
2888         (WebCore::HTMLInputElement::removedFrom):
2889         * html/HTMLInputElement.h:
2890         * html/HTMLLinkElement.cpp:
2891         (WebCore::HTMLLinkElement::insertedInto):
2892         (WebCore::HTMLLinkElement::removedFrom):
2893         * html/HTMLLinkElement.h:
2894         * html/HTMLMapElement.cpp:
2895         (WebCore::HTMLMapElement::insertedInto):
2896         (WebCore::HTMLMapElement::removedFrom):
2897         * html/HTMLMapElement.h:
2898         * html/HTMLMediaElement.cpp:
2899         (WebCore::HTMLMediaElement::insertedInto):
2900         (WebCore::HTMLMediaElement::removedFrom):
2901         * html/HTMLMediaElement.h:
2902         * html/HTMLMetaElement.cpp:
2903         (WebCore::HTMLMetaElement::insertedInto):
2904         * html/HTMLMetaElement.h:
2905         * html/HTMLObjectElement.cpp:
2906         (WebCore::HTMLObjectElement::insertedInto):
2907         (WebCore::HTMLObjectElement::removedFrom):
2908         * html/HTMLObjectElement.h:
2909         * html/HTMLOptionElement.cpp:
2910         (WebCore::HTMLOptionElement::insertedInto):
2911         * html/HTMLOptionElement.h:
2912         * html/HTMLQuoteElement.cpp:
2913         (WebCore::HTMLQuoteElement::insertedInto):
2914         * html/HTMLQuoteElement.h:
2915         * html/HTMLScriptElement.cpp:
2916         (WebCore::HTMLScriptElement::insertedInto):
2917         * html/HTMLScriptElement.h:
2918         * html/HTMLSelectElement.cpp:
2919         (WebCore::HTMLSelectElement::insertedInto):
2920         * html/HTMLSelectElement.h:
2921         * html/HTMLSourceElement.cpp:
2922         (WebCore::HTMLSourceElement::insertedInto):
2923         (WebCore::HTMLSourceElement::removedFrom):
2924         * html/HTMLSourceElement.h:
2925         * html/HTMLStyleElement.cpp:
2926         (WebCore::HTMLStyleElement::insertedInto):
2927         (WebCore::HTMLStyleElement::removedFrom):
2928         * html/HTMLStyleElement.h:
2929         * html/HTMLTextFormControlElement.cpp:
2930         (WebCore::HTMLTextFormControlElement::insertedInto):
2931         * html/HTMLTextFormControlElement.h:
2932         * html/HTMLTitleElement.cpp:
2933         (WebCore::HTMLTitleElement::insertedInto):
2934         (WebCore::HTMLTitleElement::removedFrom):
2935         * html/HTMLTitleElement.h:
2936         * html/HTMLTrackElement.cpp:
2937         (WebCore::HTMLTrackElement::insertedInto):
2938         (WebCore::HTMLTrackElement::removedFrom):
2939         * html/HTMLTrackElement.h:
2940         * mathml/MathMLMathElement.cpp:
2941         (WebCore::MathMLMathElement::insertedInto):
2942         * mathml/MathMLMathElement.h:
2943         * svg/SVGElement.cpp:
2944         (WebCore::SVGElement::removedFrom):
2945         * svg/SVGElement.h:
2946         * svg/SVGFEImageElement.cpp:
2947         (WebCore::SVGFEImageElement::insertedInto):
2948         (WebCore::SVGFEImageElement::removedFrom):
2949         * svg/SVGFEImageElement.h:
2950         * svg/SVGFontFaceElement.cpp:
2951         (WebCore::SVGFontFaceElement::insertedInto):
2952         (WebCore::SVGFontFaceElement::removedFrom):
2953         * svg/SVGFontFaceElement.h:
2954         * svg/SVGFontFaceUriElement.cpp:
2955         (WebCore::SVGFontFaceUriElement::insertedInto):
2956         * svg/SVGFontFaceUriElement.h:
2957         * svg/SVGGlyphElement.cpp:
2958         (WebCore::SVGGlyphElement::insertedInto):
2959         (WebCore::SVGGlyphElement::removedFrom):
2960         * svg/SVGGlyphElement.h:
2961         * svg/SVGHKernElement.cpp:
2962         (WebCore::SVGHKernElement::insertedInto):
2963         (WebCore::SVGHKernElement::removedFrom):
2964         * svg/SVGHKernElement.h:
2965         * svg/SVGImageElement.cpp:
2966         (WebCore::SVGImageElement::insertedInto):
2967         * svg/SVGImageElement.h:
2968         * svg/SVGSVGElement.cpp:
2969         (WebCore::SVGSVGElement::insertedInto):
2970         (WebCore::SVGSVGElement::removedFrom):
2971         * svg/SVGSVGElement.h:
2972         * svg/SVGScriptElement.cpp:
2973         (WebCore::SVGScriptElement::insertedInto):
2974         * svg/SVGScriptElement.h:
2975         * svg/SVGStyleElement.cpp:
2976         (WebCore::SVGStyleElement::insertedInto):
2977         (WebCore::SVGStyleElement::removedFrom):
2978         * svg/SVGStyleElement.h:
2979         * svg/SVGStyledElement.cpp:
2980         (WebCore::SVGStyledElement::insertedInto):
2981         (WebCore::SVGStyledElement::removedFrom):
2982         * svg/SVGStyledElement.h:
2983         * svg/SVGTRefElement.cpp:
2984         (WebCore::SVGTRefElement::insertedInto):
2985         (WebCore::SVGTRefElement::removedFrom):
2986         * svg/SVGTRefElement.h:
2987         * svg/SVGTextPathElement.cpp:
2988         (WebCore::SVGTextPathElement::insertedInto):
2989         * svg/SVGTextPathElement.h:
2990         * svg/SVGTitleElement.cpp:
2991         (WebCore::SVGTitleElement::insertedInto):
2992         (WebCore::SVGTitleElement::removedFrom):
2993         * svg/SVGTitleElement.h:
2994         * svg/SVGUseElement.cpp:
2995         (WebCore::SVGUseElement::insertedInto):
2996         (WebCore::SVGUseElement::removedFrom):
2997         * svg/SVGUseElement.h:
2998         * svg/SVGVKernElement.cpp:
2999         (WebCore::SVGVKernElement::insertedInto):
3000         (WebCore::SVGVKernElement::removedFrom):
3001         * svg/SVGVKernElement.h:
3002         * svg/animation/SVGSMILElement.cpp:
3003         (WebCore::SVGSMILElement::insertedInto):
3004         (WebCore::SVGSMILElement::removedFrom):
3005         * svg/animation/SVGSMILElement.h:
3006         Changed arguments of insertedInto and removedFrom to ContainerNode instead of Node.
3007         Did the same with didNotifyDescendantInsertions, while fixing the typo in its name.
3008
3009         * editing/ReplaceSelectionCommand.cpp:
3010         (WebCore::ReplaceSelectionCommand::doApply): Put a typecast toHTMLElement here.
3011         The check for isListElement and isLegacyAppleStyleSpan takes care of the type checking.
3012         (WebCore::ReplaceSelectionCommand::insertAsListItems): Changed this function to take
3013         an HTMLElement instead of a Node, then we can drop use of the toContainerNode function.
3014         * editing/ReplaceSelectionCommand.h:
3015
3016         * editing/TextIterator.cpp: Fixed a typo in a comment.
3017
3018 2012-05-23  Alexei Filippov  <alexeif@chromium.org>
3019
3020         Web Inspector: filter out debugging stuff from the heap class view
3021         https://bugs.webkit.org/show_bug.cgi?id=86723
3022
3023         We mark objects that are accessible from user roots (e.g. Window)
3024         with pageObject attribute. This fix filters out all non-pageObjects
3025         from the classes view.
3026
3027         Reviewed by Yury Semikhatsky.
3028
3029         * inspector/front-end/HeapSnapshot.js:
3030         (WebInspector.HeapSnapshotNode.prototype.isPageObject):
3031         (WebInspector.HeapSnapshot.prototype._buildAggregates):
3032         (WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize):
3033         (WebInspector.HeapSnapshot.prototype._buildPostOrderIndex):
3034         (WebInspector.HeapSnapshot.prototype._markPageOwnedNodes):
3035         (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
3036
3037 2012-05-23  Andrei Bucur  <abucur@adobe.com>
3038
3039         [CSSRegions]Implement NamedFlow::name attribute
3040         https://bugs.webkit.org/show_bug.cgi?id=79645
3041
3042         Implementation for the NamedFlow::name attribute per the CSS Regions WD 3-May-2012 recommendation:
3043         http://www.w3.org/TR/2012/WD-css3-regions-20120503/
3044
3045         Reviewed by Andreas Kling.
3046
3047         Test: fast/regions/webkit-named-flow-name.html
3048
3049         * dom/WebKitNamedFlow.cpp:
3050         (WebCore::WebKitNamedFlow::name):
3051         (WebCore):
3052         * dom/WebKitNamedFlow.h:
3053         (WebKitNamedFlow):
3054         * dom/WebKitNamedFlow.idl:
3055
3056 2012-05-23  Andreas Kling  <kling@webkit.org>
3057
3058         Let the compiler generate FontFamily's copy ctor and assignment operator.
3059
3060         Blindly rubberstamped by the brave Antti Koivisto.
3061
3062         * platform/graphics/FontFamily.cpp:
3063         * platform/graphics/FontFamily.h:
3064
3065 2012-05-23  Andreas Kling  <kling@webkit.org>
3066
3067         CSSParser: Simplify StylePropertySet creation.
3068         <http://webkit.org/b/87259>
3069
3070         Reviewed by Alexis Menard.
3071
3072         Turn CSSParser's filteredProperties() into createStylePropertySet() which filters the parsed
3073         properties and creates a new StylePropertySet, adopting the vector to avoid the Vector copy we
3074         were previously incurring.
3075
3076         Added a StylePropertyVector typedef for Vector<CSSProperty, 4> since we need to pass this type
3077         to the constructor for Vector::swap() to work.
3078
3079         And thus StylePropertySet::create(const Vector<CSSProperty>&, CSSParserMode) became
3080         StylePropertySet::adopt(StylePropertyVector&, CSSParserMode).
3081
3082         * css/CSSComputedStyleDeclaration.cpp:
3083         (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
3084         * css/CSSParser.cpp:
3085         (WebCore::CSSParser::createStylePropertySet):
3086         (WebCore::CSSParser::createStyleRule):
3087         (WebCore::CSSParser::createFontFaceRule):
3088         (WebCore::CSSParser::createPageRule):
3089         (WebCore::CSSParser::createKeyframe):
3090         * css/CSSParser.h:
3091         * css/StylePropertySet.cpp:
3092         (WebCore::StylePropertySet::StylePropertySet):
3093         (WebCore::StylePropertySet::removePropertiesInSet):
3094         (WebCore::StylePropertySet::copyPropertiesInSet):
3095         (SameSizeAsStylePropertySet):
3096         * css/StylePropertySet.h:
3097         (WebCore::StylePropertySet::adopt):
3098         (StylePropertySet):
3099
3100 2012-05-23  Andreas Kling  <kling@webkit.org>
3101
3102         Kill some frivolous null-checking of Element::m_attributeData.
3103         <http://webkit.org/b/87248>
3104
3105         Reviewed by Antti Koivisto.
3106
3107         Replace unnecessary Element::m_attributeData with assertions where it makes sense.
3108         Others are flat out removed because it should be obvious from context that it's non-null.
3109         E.g if an attribute has changed, we're obviously storing it somewhere.
3110
3111         Also added a short-circuit to Element::normalize() if there are no Attr objects
3112         associated with the element.
3113
3114         * dom/Element.cpp:
3115         (WebCore::Element::~Element):
3116         (WebCore::Element::attributeChanged):
3117         (WebCore::Element::insertedInto):
3118         (WebCore::Element::removedFrom):
3119         (WebCore::Element::removeAttributeNode):
3120         (WebCore::Element::normalizeAttributes):
3121         * dom/StyledElement.cpp:
3122         (WebCore::StyledElement::classAttributeChanged):
3123
3124 2012-05-23  Andreas Kling  <kling@webkit.org>
3125
3126         Let Element::detachAttribute() handle removal of the attribute.
3127         <http://webkit.org/b/87242>
3128
3129         Reviewed by Antti Koivisto.
3130
3131         All the call sites were removing the attribute after detaching it, so move
3132         that into detachAttribute(). The function name already made it sound like it
3133         removes the attribute anyway.
3134
3135         Also sprinkle some assertions wrt being called with guaranteed presence of
3136         attributeData() and the provided index in the attribute vector.
3137
3138         * dom/Element.cpp:
3139         (WebCore::Element::detachAttribute):
3140         (WebCore::Element::removeAttributeNode):
3141         * dom/NamedNodeMap.cpp:
3142         (WebCore::NamedNodeMap::removeNamedItem):
3143         (WebCore::NamedNodeMap::removeNamedItemNS):
3144
3145 2012-05-23  Andreas Kling  <kling@webkit.org>
3146
3147         Streamline Element teardown for the no-Attr-objects case.
3148         <http://webkit.org/b/87228>
3149
3150         Reviewed by Antti Koivisto.
3151
3152         Dodge one function call in ~Element() if the element has no Attr objects
3153         associated (the typical case.)
3154
3155         Renamed detachAttributes to detachAttrObjectsFromElement to reduce ambiguity.
3156
3157         * dom/Element.cpp:
3158         (WebCore::Element::~Element):
3159         * dom/ElementAttributeData.cpp:
3160         (WebCore::ElementAttributeData::detachAttrObjectsFromElement):
3161         (WebCore::ElementAttributeData::clearAttributes):
3162         * dom/ElementAttributeData.h:
3163         (ElementAttributeData):
3164
3165 2012-05-23  Jochen Eisinger  <jochen@chromium.org>
3166
3167         Fix incomplete switch statement in CSSParser after r118082
3168         https://bugs.webkit.org/show_bug.cgi?id=87250
3169
3170         Reviewed by Alexis Menard.
3171
3172         * css/CSSParser.cpp:
3173         (WebCore::CSSParser::parseValue):
3174
3175 2012-05-23  Sheriff Bot  <webkit.review.bot@gmail.com>
3176
3177         Unreviewed, rolling out r118105.
3178         http://trac.webkit.org/changeset/118105
3179         https://bugs.webkit.org/show_bug.cgi?id=87255
3180
3181         New LayoutTest is causing several cookie tests to fail on
3182         numerous bots (Requested by steveblock on #webkit).
3183
3184         * platform/blackberry/CookieJarBlackBerry.cpp:
3185         (WebCore::setCookies):
3186         * platform/blackberry/CookieManager.cpp:
3187         (WebCore::CookieManager::setCookies):
3188         (WebCore::CookieManager::checkAndTreatCookie):
3189         (WebCore::CookieManager::addCookieToMap):
3190         (WebCore::CookieManager::setPrivateMode):
3191         (WebCore):
3192         * platform/blackberry/CookieManager.h:
3193         * platform/blackberry/CookieMap.cpp:
3194         (WebCore::CookieMap::addOrReplaceCookie):
3195         (WebCore::CookieMap::removeCookie):
3196         * platform/blackberry/CookieMap.h:
3197         (CookieMap):
3198
3199 2012-05-23  Zan Dobersek  <zandobersek@gmail.com>
3200
3201         [Gtk] EventSender should properly handle (left|right)(control|shift|alt) after r118001
3202         https://bugs.webkit.org/show_bug.cgi?id=87221
3203
3204         Reviewed by Martin Robinson.
3205
3206         No new tests - covered by fast/events/keydown-leftright-keys.html.
3207
3208         Windows key code for shift, control and alt keys should respect the
3209         left or right position of that key. This way the DOM location code of
3210         a key event is properly determined for these keys.
3211
3212         * platform/gtk/PlatformKeyboardEventGtk.cpp:
3213         (WebCore::PlatformKeyboardEvent::windowsKeyCodeForGdkKeyCode):
3214
3215 2012-05-23  Ilya Tikhonovsky  <loislo@chromium.org>
3216
3217         Web Inspector: eliminate getters from HeapSnapshot.js
3218         https://bugs.webkit.org/show_bug.cgi?id=87241
3219
3220         getters can't be inlined by engine at the moment.
3221         I found that conversion getters into functions gives us about 600 ms
3222
3223         RESULT heap-snapshot: switch-to-containment-view= 1920 ms
3224         vs
3225         RESULT heap-snapshot: switch-to-containment-view= 1367 ms
3226
3227         Reviewed by Yury Semikhatsky.
3228
3229         * inspector/front-end/HeapSnapshot.js:
3230         (WebInspector.HeapSnapshotEdge.prototype.hasStringName):
3231         (WebInspector.HeapSnapshotEdge.prototype.isElement):
3232         (WebInspector.HeapSnapshotEdge.prototype.isHidden):
3233         (WebInspector.HeapSnapshotEdge.prototype.isWeak):
3234         (WebInspector.HeapSnapshotEdge.prototype.isInternal):
3235         (WebInspector.HeapSnapshotEdge.prototype.isInvisible):
3236         (WebInspector.HeapSnapshotEdge.prototype.isShortcut):
3237         (WebInspector.HeapSnapshotEdge.prototype.name):
3238         (WebInspector.HeapSnapshotEdge.prototype.node):
3239         (WebInspector.HeapSnapshotEdge.prototype.nodeIndex):
3240         (WebInspector.HeapSnapshotEdge.prototype.rawEdges):
3241         (WebInspector.HeapSnapshotEdge.prototype.toString):
3242         (WebInspector.HeapSnapshotEdge.prototype.type):
3243         (WebInspector.HeapSnapshotEdge.prototype._hasStringName):
3244         (WebInspector.HeapSnapshotEdge.prototype._name):
3245         (WebInspector.HeapSnapshotEdge.prototype._nameOrIndex):
3246         (WebInspector.HeapSnapshotEdgeIterator.prototype.index):
3247         (WebInspector.HeapSnapshotEdgeIterator.prototype.setIndex):
3248         (WebInspector.HeapSnapshotEdgeIterator.prototype.item):
3249         (WebInspector.HeapSnapshotRetainerEdge):
3250         (WebInspector.HeapSnapshotRetainerEdge.prototype.clone):
3251         (WebInspector.HeapSnapshotRetainerEdge.prototype.hasStringName):
3252         (WebInspector.HeapSnapshotRetainerEdge.prototype.isElement):
3253         (WebInspector.HeapSnapshotRetainerEdge.prototype.isHidden):
3254         (WebInspector.HeapSnapshotRetainerEdge.prototype.isInternal):
3255         (WebInspector.HeapSnapshotRetainerEdge.prototype.isInvisible):
3256         (WebInspector.HeapSnapshotRetainerEdge.prototype.isShortcut):
3257         (WebInspector.HeapSnapshotRetainerEdge.prototype.isWeak):
3258         (WebInspector.HeapSnapshotRetainerEdge.prototype.name):
3259         (WebInspector.HeapSnapshotRetainerEdge.prototype.node):
3260         (WebInspector.HeapSnapshotRetainerEdge.prototype.nodeIndex):
3261         (WebInspector.HeapSnapshotRetainerEdge.prototype.retainerIndex):
3262         (WebInspector.HeapSnapshotRetainerEdge.prototype.setRetainerIndex):
3263         (WebInspector.HeapSnapshotRetainerEdge.prototype._node):
3264         (WebInspector.HeapSnapshotRetainerEdge.prototype._edge):
3265         (WebInspector.HeapSnapshotRetainerEdge.prototype.toString):
3266         (WebInspector.HeapSnapshotRetainerEdge.prototype.type):
3267         (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.first):
3268         (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.hasNext):
3269         (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.index):
3270         (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.setIndex):
3271         (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.item):
3272         (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.next):
3273         (WebInspector.HeapSnapshotNode.prototype.canBeQueried):
3274         (WebInspector.HeapSnapshotNode.prototype.distanceToWindow):
3275         (WebInspector.HeapSnapshotNode.prototype.className):
3276         (WebInspector.HeapSnapshotNode.prototype.dominatorIndex):
3277         (WebInspector.HeapSnapshotNode.prototype.edges):
3278         (WebInspector.HeapSnapshotNode.prototype.edgesCount):
3279         (WebInspector.HeapSnapshotNode.prototype.flags):
3280         (WebInspector.HeapSnapshotNode.prototype.id):
3281         (WebInspector.HeapSnapshotNode.prototype.isHidden):
3282         (WebInspector.HeapSnapshotNode.prototype.isNative):
3283         (WebInspector.HeapSnapshotNode.prototype.isSynthetic):
3284         (WebInspector.HeapSnapshotNode.prototype.isWindow):
3285         (WebInspector.HeapSnapshotNode.prototype.isDetachedDOMTreesRoot):
3286         (WebInspector.HeapSnapshotNode.prototype.isDetachedDOMTree):
3287         (WebInspector.HeapSnapshotNode.prototype.isRoot):
3288         (WebInspector.HeapSnapshotNode.prototype.name):
3289         (WebInspector.HeapSnapshotNode.prototype.rawEdges):
3290         (WebInspector.HeapSnapshotNode.prototype.retainedSize):
3291         (WebInspector.HeapSnapshotNode.prototype.retainers):
3292         (WebInspector.HeapSnapshotNode.prototype.selfSize):
3293         (WebInspector.HeapSnapshotNode.prototype.type):
3294         (WebInspector.HeapSnapshotNode.prototype._name):
3295         (WebInspector.HeapSnapshotNode.prototype._edgeIndexesEnd):
3296         (WebInspector.HeapSnapshotNode.prototype._nextNodeIndex):
3297         (WebInspector.HeapSnapshotNode.prototype._type):
3298         (WebInspector.HeapSnapshotNodeIterator):
3299         (WebInspector.HeapSnapshotNodeIterator.prototype.hasNext):
3300         (WebInspector.HeapSnapshotNodeIterator.prototype.index):
3301         (WebInspector.HeapSnapshotNodeIterator.prototype.setIndex):
3302         (WebInspector.HeapSnapshotNodeIterator.prototype.item):
3303         (WebInspector.HeapSnapshotNodeIterator.prototype.next):
3304         (WebInspector.HeapSnapshot.prototype._allNodes):
3305         (WebInspector.HeapSnapshot.prototype.rootNode):
3306         (WebInspector.HeapSnapshot.prototype.get totalSize):
3307         (WebInspector.HeapSnapshot.prototype._dominatedNodesOfNode):
3308         (WebInspector.HeapSnapshot.prototype.aggregatesForDiff):
3309         (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
3310         (WebInspector.HeapSnapshot.prototype._buildAggregates):
3311         (WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize):
3312         (WebInspector.HeapSnapshot.prototype._sortAggregateIndexes):
3313         (WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
3314         (WebInspector.HeapSnapshot.prototype._markDetachedDOMTreeNodes):
3315         (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
3316         (WebInspector.HeapSnapshot.prototype._calculateDiffForClass):
3317         (WebInspector.HeapSnapshot.prototype._nodeForSnapshotObjectId):
3318         (WebInspector.HeapSnapshot.prototype.nodeClassName):
3319         (WebInspector.HeapSnapshot.prototype.dominatorIdsForNode):
3320         (WebInspector.HeapSnapshot.prototype.createEdgesProvider):
3321         (WebInspector.HeapSnapshot.prototype.createRetainingEdgesProvider):
3322         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype._createIterationOrder):
3323         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.isEmpty):
3324         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.item):
3325         (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeItemsRange):
3326         (WebInspector.HeapSnapshotEdgesProvider.prototype.serializeItem):
3327         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareEdgeFieldName):
3328         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeField):
3329         (WebInspector.HeapSnapshotNodesProvider):
3330         (WebInspector.HeapSnapshotNodesProvider.prototype.nodePosition):
3331         (WebInspector.HeapSnapshotNodesProvider.prototype.serializeItem):
3332         (WebInspector.HeapSnapshotNodesProvider.prototype.sort.sortByNodeField):
3333         * inspector/front-end/HeapSnapshotGridNodes.js:
3334         * inspector/front-end/HeapSnapshotProxy.js:
3335         (WebInspector.HeapSnapshotProviderProxy.prototype.isEmpty):
3336
3337 2012-05-22  Yury Semikhatsky  <yurys@chromium.org>
3338
3339         Web Inspector: Debugger should correctly show catch scope
3340         https://bugs.webkit.org/show_bug.cgi?id=87197
3341
3342         Reviewed by Vsevolod Vlasov.
3343
3344         * bindings/v8/DebuggerScript.js: In case of Catch scope the scope object
3345         is a synthetic one which means that it contains all standard object properties.
3346         When passing this object further we need to leave only properties available in
3347         the catch block(only variable thar stores the exception in fact).
3348
3349 2012-05-23  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3350
3351         [Qt] FloatSize Qt Support
3352         https://bugs.webkit.org/show_bug.cgi?id=87237
3353
3354         Reviewed by Andreas Kling.
3355
3356         No new functionality. No new tests.
3357
3358         * Target.pri:
3359         * platform/graphics/FloatSize.h:
3360         (FloatSize):
3361         * platform/graphics/qt/FloatSizeQt.cpp: Added.
3362         (WebCore::FloatSize::FloatSize):
3363         (WebCore::FloatSize::operator QSizeF):
3364
3365 2012-05-23  Alexei Filippov  <alexeif@chromium.org>
3366
3367         Web Inspector: Enable HeapSnapshotRealWorker in production mode.
3368         https://bugs.webkit.org/show_bug.cgi?id=87240
3369
3370         Reviewed by Yury Semikhatsky.
3371
3372         * inspector/front-end/HeapSnapshotProxy.js:
3373         (WebInspector.HeapSnapshotWorker):
3374
3375 2012-05-23  'Pavel Feldman'  <pfeldman@chromium.org>
3376
3377         Not reviewed: inspector's Find is not consuming event as of r117974.
3378
3379         * inspector/front-end/AdvancedSearchController.js:
3380         (WebInspector.AdvancedSearchController.prototype.handleShortcut):
3381         * inspector/front-end/SearchController.js:
3382         (WebInspector.SearchController.prototype.handleShortcut):
3383
3384 2012-05-23  Pavel Feldman  <pfeldman@chromium.org>
3385
3386         Web Inspector: enable drag-an-drop from the navigator panel.
3387         https://bugs.webkit.org/show_bug.cgi?id=87238
3388
3389         Reviewed by Vsevolod Vlasov.
3390
3391         Making tree item draggable.
3392
3393         * inspector/front-end/NavigatorView.js:
3394         (WebInspector.NavigatorSourceTreeElement.prototype.onattach):
3395         (WebInspector.NavigatorSourceTreeElement.prototype._onmousedown.callback):
3396         (WebInspector.NavigatorSourceTreeElement.prototype._onmousedown):
3397         (WebInspector.NavigatorSourceTreeElement.prototype._ondragstart):
3398
3399 2012-05-23  Ryosuke Niwa  <rniwa@webkit.org>
3400
3401         WebKit spends ~20% of time in HTMLTextAreaElement::defaultValue() when opening a review page
3402         https://bugs.webkit.org/show_bug.cgi?id=86813
3403
3404         Reviewed by Eric Seidel.
3405
3406         Replace String and calls to String::operator+= by StringBuilder and calls to append respectively.
3407         While there are other optimizations we can implement such as not replacing all nodes in the shadow DOM,
3408         or not serializing the value when detecting whether the value had changed, they require considerable
3409         amount of refactoring and this change alone seems to buy us a lot so let us defer those 'til later time.
3410
3411         Also avoid the redundant call to setValue in childrenChanged when the value is dirty.
3412         This should halve the time we spend in setting the value.
3413
3414         * html/HTMLTextAreaElement.cpp:
3415         (WebCore::HTMLTextAreaElement::childrenChanged):
3416         (WebCore::HTMLTextAreaElement::defaultValue):
3417
3418 2012-05-23  Alice Boxhall  <aboxhall@chromium.org>
3419
3420         AX: Contenteditable tables should always be exposed as data tables
3421         https://bugs.webkit.org/show_bug.cgi?id=87052
3422
3423         Reviewed by Chris Fleizach.
3424
3425         Tested in accessibility/table-detection.html.
3426
3427         * accessibility/AccessibilityTable.cpp:
3428         (WebCore::AccessibilityTable::isDataTable): Return true if the node is contenteditable.
3429
3430 2012-05-23  Ryosuke Niwa  <rniwa@webkit.org>
3431
3432         Fix a typo per Darin's comment.
3433
3434         * rendering/RenderBlockLineLayout.cpp:
3435         (WebCore::constructBidiRuns):
3436
3437 2012-05-23  Kentaro Hara  <haraken@chromium.org>
3438
3439         [V8] Pass Isolate to v8::Null() in custom bindings (Part 2)
3440         https://bugs.webkit.org/show_bug.cgi?id=87209
3441
3442         Reviewed by Adam Barth.
3443
3444         The objective is to pass Isolate around in V8 bindings.
3445         This patch passes Isolate to v8::Null() in custom bindings.
3446
3447         No tests. No change in behavior.
3448
3449         * bindings/v8/custom/V8HTMLElementCustom.cpp:
3450         (WebCore::toV8Object):
3451         (WebCore::toV8):
3452         * bindings/v8/custom/V8HistoryCustom.cpp:
3453         (WebCore::V8History::stateAccessorGetter):
3454         * bindings/v8/custom/V8IDBAnyCustom.cpp:
3455         (WebCore::toV8):
3456         * bindings/v8/custom/V8IDBKeyCustom.cpp:
3457         (WebCore::toV8):
3458         * bindings/v8/custom/V8ImageDataCustom.cpp:
3459         (WebCore::toV8):
3460         * bindings/v8/custom/V8Int16ArrayCustom.cpp:
3461         (WebCore::toV8):
3462         * bindings/v8/custom/V8Int32ArrayCustom.cpp:
3463         (WebCore::toV8):
3464         * bindings/v8/custom/V8Int8ArrayCustom.cpp:
3465         (WebCore::toV8):
3466         * bindings/v8/custom/V8LocationCustom.cpp:
3467         (WebCore::toV8):
3468         * bindings/v8/custom/V8MessageEventCustom.cpp:
3469         (WebCore::V8MessageEvent::dataAccessorGetter):
3470         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
3471         (WebCore::toV8):
3472         * bindings/v8/custom/V8NodeCustom.cpp:
3473         (WebCore::V8Node::insertBeforeCallback):
3474         (WebCore::V8Node::replaceChildCallback):
3475         (WebCore::V8Node::removeChildCallback):
3476         (WebCore::V8Node::appendChildCallback):
3477         (WebCore::toV8Slow):
3478         * bindings/v8/custom/V8PopStateEventCustom.cpp:
3479         (WebCore::V8PopStateEvent::stateAccessorGetter):
3480         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
3481         (WebCore::V8SQLResultSetRowList::itemCallback):
3482         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
3483         (WebCore::toV8):
3484         * bindings/v8/custom/V8SVGElementCustom.cpp:
3485         (WebCore::toV8):
3486         * bindings/v8/custom/V8SVGPathSegCustom.cpp:
3487         (WebCore::toV8):
3488         * bindings/v8/custom/V8ScriptProfileCustom.cpp:
3489         (WebCore::toV8):
3490         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
3491         (WebCore::toV8):
3492         * bindings/v8/custom/V8StyleSheetCustom.cpp:
3493         (WebCore::toV8):
3494         * bindings/v8/custom/V8TrackEventCustom.cpp:
3495         (WebCore::V8TrackEvent::trackAccessorGetter):
3496         * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
3497         (WebCore::toV8):
3498         * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
3499         (WebCore::toV8):
3500         * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
3501         (WebCore::toV8):
3502         * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp: