[Gtk] allow building with css-shaders
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-09-11  Arnaud Renevier  <a.renevier@sisa.samsung.com>
2
3         [Gtk] allow building with css-shaders
4         https://bugs.webkit.org/show_bug.cgi?id=95603
5
6         Reviewed by Martin Robinson.
7
8         Add support for css filters and shaders in GNUmakefile.am and include
9         Texture.cpp, Texture.h, TilingData.cpp and TilingData.h in
10         webcore_sources
11
12         No functional change, so no new tests.
13
14         * GNUmakefile.am:
15         * GNUmakefile.list.am:
16
17 2012-09-11  Dimitri Glazkov  <dglazkov@chromium.org>
18
19         Remove StyleResolver::setStyle, because it's no longer used.
20         https://bugs.webkit.org/show_bug.cgi?id=96423
21
22         Reviewed by Eric Seidel.
23
24         No new tests, simple refactoring.
25
26         * css/StyleResolver.h: Removed unused function.
27
28 2012-09-11  Chris Fleizach  <cfleizach@apple.com>
29
30         AX: title attribute is not exposed as the AXDescription on AXImage when there is no other fallback content
31         https://bugs.webkit.org/show_bug.cgi?id=96412
32
33         Reviewed by Jon Honeycutt.
34
35         Ensure that if an image has a title attribute, but no alt attribute, it will fallback to use the title attribute 
36         for the descriptive text.
37
38         Test: accessibility/img-fallsback-to-title.html
39
40         * accessibility/AccessibilityRenderObject.cpp:
41         (WebCore::AccessibilityRenderObject::accessibilityDescription):
42
43 2012-09-11  Rik Cabanier  <cabanier@adobe.com>
44
45         Clean up functions in RenderLayerBacking.h/.cpp
46         https://bugs.webkit.org/show_bug.cgi?id=96370
47
48         Reviewed by Simon Fraser.
49
50         Remove 'layer' from function names in RenderLayerBacking
51
52         No new test. No change in functionality.
53
54         * rendering/RenderLayerBacking.cpp:
55         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
56         (WebCore::RenderLayerBacking::updateOpacity):
57         (WebCore::RenderLayerBacking::updateTransform):
58         (WebCore::RenderLayerBacking::updateFilters):
59         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
60         (WebCore::RenderLayerBacking::startTransition):
61         * rendering/RenderLayerBacking.h:
62         (RenderLayerBacking):
63
64 2012-09-11  Stephen White  <senorblanco@chromium.org>
65
66         [skia] Switch FEComponentTransfer filter to use skia's SkColorFilter
67         https://bugs.webkit.org/show_bug.cgi?id=95238
68
69         Reviewed by Dirk Schulze.
70
71         Covered by existing tests in svg/, such as svg/custom/feComponentTransfer-Discrete.svg.
72
73         * WebCore.gypi:
74         * platform/graphics/filters/FEComponentTransfer.cpp:
75         (WebCore::FEComponentTransfer::platformApplySoftware):
76         Add a check for the skia implementation.
77         (WebCore::FEComponentTransfer::getValues):
78         * platform/graphics/filters/FEComponentTransfer.h:
79         Factor out the retrieval of LUT values into its own function, so we
80         can call it from the Skia implementation.
81         * platform/graphics/filters/skia/FEComponentTransferSkia.cpp: Added.
82         (WebCore::FEComponentTransfer::platformApplySkia):
83
84 2012-09-11  Kevin Ellis  <kevers@chromium.org>
85
86         Crash on a long press gesture when touch adjustment is enabled.
87         https://bugs.webkit.org/show_bug.cgi?id=96313
88
89         Reviewed by Antonio Gomes.
90
91         Fix to ensure that a long-press on a shadow-DOM element does not 
92         trigger a crash in TouchAdjustment::providesContextMenuItems.
93         Prior to the patch, a null-pointer exception was trigger because
94         of a null renderer in the check.
95
96         Test: touchadjustment/context-menu-shadow-node.html
97
98         * page/TouchAdjustment.cpp:
99         (WebCore::TouchAdjustment::providesContextMenuItems):
100
101 2012-09-11  Zan Dobersek  <zandobersek@gmail.com>
102
103         Unreviewed, manually rolling out r128175.
104         The patch is causing crashes in debug builds.
105         http://trac.webkit.org/changeset/128175
106         https://bugs.webkit.org/show_bug.cgi?id=96284
107
108         * platform/network/soup/ResourceResponseSoup.cpp:
109         (WebCore::ResourceResponse::updateFromSoupMessage):
110
111 2012-09-11  James Robinson  <jamesr@chromium.org>
112
113         Unreviewed, rolling out r128212.
114         http://trac.webkit.org/changeset/128212
115         https://bugs.webkit.org/show_bug.cgi?id=96037
116
117         Assertion fails on linux 64
118
119         * Modules/indexeddb/IDBLevelDBCoding.cpp:
120         (WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
121         (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
122         (IDBLevelDBCoding):
123         (WebCore::IDBLevelDBCoding::compare):
124
125 2012-09-11  Joshua Bell  <jsbell@chromium.org>
126
127         IndexedDB: IDBObjectStore.count() is slow
128         https://bugs.webkit.org/show_bug.cgi?id=96033
129
130         Reviewed by Tony Chang.
131
132         Avoid decoding record values when performing count() iteration, and factor out common code
133         used for initializing object store and index cursors. Also, remove unused indexDataId()
134         methods (which date back to the SQLite backing store), and rename some p's and q's.
135
136         No new tests - no functional changes. Covered by existing test:
137             LayoutTests/storage/indexeddb/objectstore-count.html
138
139         * Modules/indexeddb/IDBBackingStore.h: Expose new (internal) ObjectStoreKeyCursor
140         (IDBBackingStore):
141         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
142         (WebCore): Factor out common CursorOptions initialization code. The objectStoreCursorOptions()
143         function is needed for this patch. The indexCursorOptions() function is not, but eliminates
144         duplicated code and is a nearly identical refactor.
145         (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor): Refactor.
146         (WebCore::IDBLevelDBBackingStore::openObjectStoreKeyCursor): Implement.
147         (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor): Refactor.
148         (WebCore::IDBLevelDBBackingStore::openIndexCursor): Ditto.
149         * Modules/indexeddb/IDBLevelDBBackingStore.h:
150         (IDBLevelDBBackingStore):
151         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
152         (WebCore::IDBObjectStoreBackendImpl::countInternal): Use ObjectStoreKeyCursor for iteration.
153
154 2012-09-11  Ojan Vafai  <ojan@chromium.org>
155
156         Refactor computePercentageLogicalHeight to simplify the logic a bit
157         https://bugs.webkit.org/show_bug.cgi?id=96329
158
159         Reviewed by Tony Chang.
160
161         This makes it clear that the value we're computing as we go is the availableHeight.
162
163         * rendering/RenderBox.cpp:
164         (WebCore::RenderBox::computePercentageLogicalHeight):
165
166 2012-09-11  Joshua Bell  <jsbell@chromium.org>
167
168         IndexedDB: Optimize key decode and comparison operations
169         https://bugs.webkit.org/show_bug.cgi?id=96037
170
171         Reviewed by Tony Chang.
172
173         Eliminate memory allocations in code identified as CPU bottlenecks in IDB profiling.
174
175         No new tests - just performance work.
176
177         * Modules/indexeddb/IDBLevelDBCoding.cpp:
178         (WebCore::IDBLevelDBCoding::extractEncodedIDBKey): Avoid incremental allocations.
179         (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys): Rename confusing variables p and q.
180         (IDBLevelDBCoding):
181         (WebCore::IDBLevelDBCoding::compare): Rename from decodeAndCompare, and add specializations
182         for frequently encountered types (e.g. object/index data) that can be compared without a
183         full decode.
184
185 2012-09-11  Marcelo Lira  <marcelo.lira@openbossa.org>
186
187         Restore original value of mock scrollbars enabled in InternalSettings
188         https://bugs.webkit.org/show_bug.cgi?id=87680
189
190         Reviewed by Adam Barth.
191
192         Added backup support for mock scrollbars state in
193         InternalSettings::Backup, and removed support for these
194         from Qt's DumpRenderTree.
195
196         * testing/InternalSettings.cpp:
197         (WebCore::InternalSettings::Backup::Backup):
198         (WebCore::InternalSettings::Backup::restoreTo):
199         * testing/InternalSettings.h:
200         (Backup):
201
202 2012-09-11  Mike West  <mkwst@chromium.org>
203
204         Improve console error messages when 'document.domain' blocks cross-origin script access.
205         https://bugs.webkit.org/show_bug.cgi?id=96247
206
207         Reviewed by Adam Barth.
208
209         Setting 'document.domain' can produce counterintuitive "cross-origin"
210         error messages for script access in cases where the property isn't set
211         to the same value in both the accessor and accessee. This patch adds a
212         bit more context to the error message to make it clear that both sides
213         must set the property, and that the values must match.
214
215         This shouldn't change any externally visible behavior other than the
216         error warnings. It's covered by changes to existing tests.
217
218         * page/DOMWindow.cpp:
219         (WebCore::DOMWindow::crossDomainAccessErrorMessage):
220             Adding checks for 'document.domain'-related errors, and adding an
221             ASSERT that crossDomainAccessErrorMessage is called in cases where
222             the accessing frame is actually denied access to the frame being
223             accessed.
224
225 2012-09-11  Jinwoo Song  <jinwoo7.song@samsung.com>
226
227         Deploy StringBuilder::appendNumber() and StringBuilder::appendLiteral() in more places
228         https://bugs.webkit.org/show_bug.cgi?id=96344
229
230         Reviewed by Benjamin Poulain.
231
232         Use StringBuilder::appendNumber() instead of String::number(). Also deploy 
233         StringBuilder::appendLiteral() instead of String::append() in the surrounding code.
234
235         * css/CSSAspectRatioValue.cpp:
236         (WebCore::CSSAspectRatioValue::customCssText):
237         * platform/graphics/gpu/LoopBlinnPathProcessor.cpp:
238         (WebCore):
239         * svg/SVGPointList.cpp:
240         (WebCore::SVGPointList::valueAsString):
241
242 2012-09-11  Tony Chang  <tony@chromium.org>
243
244         Rename computeLogicalHeight to updateLogicalHeight
245         https://bugs.webkit.org/show_bug.cgi?id=96305
246
247         Reviewed by Ojan Vafai.
248
249         computeLogicalHeight changes the value of 4 member variables of the
250         render box, so give it a name that makes it more clear that it is
251         updating member variables.
252
253         No new tests, this is just a refactor.
254
255         * rendering/RenderBlock.cpp:
256         (WebCore::RenderBlock::computeInitialRegionRangeForBlock):
257         (WebCore::RenderBlock::checkForPaginationLogicalHeightChange):
258         (WebCore::RenderBlock::layoutBlock):
259         (WebCore::RenderBlock::layoutPositionedObjects):
260         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
261         * rendering/RenderBox.cpp:
262         (WebCore::RenderBox::updateLogicalHeight):
263         (WebCore::RenderBox::computePercentageLogicalHeight):
264         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
265         (WebCore::RenderBox::availableLogicalHeightUsing):
266         * rendering/RenderBox.h:
267         (RenderBox):
268         (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
269         * rendering/RenderDeprecatedFlexibleBox.cpp:
270         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
271         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
272         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
273         * rendering/RenderEmbeddedObject.cpp:
274         (WebCore::RenderEmbeddedObject::layout):
275         * rendering/RenderFlexibleBox.cpp:
276         (WebCore::RenderFlexibleBox::layoutBlock):
277         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
278         * rendering/RenderFlowThread.cpp:
279         (WebCore::RenderFlowThread::updateLogicalHeight):
280         * rendering/RenderFlowThread.h:
281         * rendering/RenderGrid.cpp:
282         (WebCore::RenderGrid::layoutBlock):
283         * rendering/RenderHTMLCanvas.cpp:
284         (WebCore::RenderHTMLCanvas::canvasSizeChanged):
285         * rendering/RenderIFrame.cpp:
286         (WebCore::RenderIFrame::updateLogicalHeight):
287         (WebCore::RenderIFrame::layoutSeamlessly):
288         (WebCore::RenderIFrame::layout):
289         * rendering/RenderIFrame.h:
290         (RenderIFrame):
291         * rendering/RenderImage.cpp:
292         (WebCore::RenderImage::imageDimensionsChanged):
293         * rendering/RenderListBox.cpp:
294         (WebCore::RenderListBox::updateLogicalHeight):
295         * rendering/RenderListBox.h:
296         (RenderListBox):
297         * rendering/RenderMeter.cpp:
298         (WebCore::RenderMeter::updateLogicalHeight):
299         * rendering/RenderMeter.h:
300         (RenderMeter):
301         * rendering/RenderMultiColumnBlock.cpp:
302         (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
303         * rendering/RenderMultiColumnFlowThread.h:
304         * rendering/RenderMultiColumnSet.cpp:
305         (WebCore::RenderMultiColumnSet::updateLogicalHeight):
306         * rendering/RenderMultiColumnSet.h:
307         (RenderMultiColumnSet):
308         * rendering/RenderReplaced.cpp:
309         (WebCore::RenderReplaced::layout):
310         * rendering/RenderSearchField.cpp:
311         (WebCore::RenderSearchField::computeControlHeight):
312         * rendering/RenderTable.cpp:
313         (WebCore::RenderTable::layout):
314         * rendering/RenderTextControl.cpp:
315         (WebCore::RenderTextControl::updateLogicalHeight):
316         * rendering/RenderTextControl.h:
317         (RenderTextControl):
318         * rendering/RenderView.cpp:
319         (WebCore::RenderView::updateLogicalHeight):
320         * rendering/RenderView.h:
321         * rendering/svg/RenderSVGForeignObject.cpp:
322         (WebCore::RenderSVGForeignObject::updateLogicalHeight):
323         * rendering/svg/RenderSVGForeignObject.h:
324         (RenderSVGForeignObject):
325         * rendering/svg/RenderSVGRoot.cpp:
326         (WebCore::RenderSVGRoot::layout):
327
328 2012-09-11  Zach Kuznia  <zork@chromium.org>
329
330         Fix FilterTypeZoom to properly call canvas->restore()
331         https://bugs.webkit.org/show_bug.cgi?id=96082
332
333         Reviewed by Adrienne Walker.
334
335         Fix zoom filter to properly call canvas->restore()
336
337         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
338         (WebCore::CCRenderSurfaceFilters::apply):
339
340 2012-09-11  Sergio Villar Senin  <svillar@igalia.com>
341
342         [GTK] WebKitGtk+ crashes with non-UTF8 HTTP header names
343         https://bugs.webkit.org/show_bug.cgi?id=96284
344
345         Reviewed by Gustavo Noronha Silva.
346
347         Non UTF-8 characters sent as part of a HTTP header name were
348         causing crashes as String::fromUTF8() was returning NULL for
349         them. Use String::fromUTF8WithLatin1Fallback() instead.
350
351         Test: http/tests/misc/non-utf8-header-name.php
352
353         * platform/network/soup/ResourceResponseSoup.cpp:
354         (WebCore::ResourceResponse::updateFromSoupMessage):
355
356 2012-09-11  Sheriff Bot  <webkit.review.bot@gmail.com>
357
358         Unreviewed, rolling out r128175.
359         http://trac.webkit.org/changeset/128175
360         https://bugs.webkit.org/show_bug.cgi?id=96395
361
362         broke hunders of tests for EFL and GTK (Requested by rakuco on
363         #webkit).
364
365         * platform/network/soup/ResourceResponseSoup.cpp:
366         (WebCore::ResourceResponse::updateFromSoupMessage):
367
368 2012-09-11  Raphael Kubo da Costa  <rakuco@webkit.org>
369
370         [EFL] Rewrite the EFL-related Find modules
371         https://bugs.webkit.org/show_bug.cgi?id=95237
372
373         Reviewed by Kenneth Rohde Christiansen.
374
375         * CMakeLists.txt: Stop setting the LINK_FLAGS property now that no
376         port sets WebCore_LINK_FLAGS.
377         * PlatformEfl.cmake: Add libraries and include directories for
378         each Enlightenment Foundation Library used by the port.
379
380 2012-09-11  Csaba Osztrogonác  <ossy@webkit.org>
381
382         [Qt] Unreviewed, rolling out 128054, because it broke the Windows build.
383
384         * DerivedSources.pri:
385
386 2012-09-11  Andras Becsi  <andras.becsi@nokia.com>
387
388         [Qt] Fix the build with libwebp
389
390         Rubber-stamped by Tor Arne Vestbø
391
392         The use-flag is called WEBP not LIBWEBP, so use that when appending -lwebp.
393
394         * WebCore.pri:
395
396 2012-09-10  Andrey Kosyakov  <caseq@chromium.org>
397
398         Web Inspector: visualize layout root in Timeline
399         https://bugs.webkit.org/show_bug.cgi?id=96279
400
401         Reviewed by Pavel Feldman.
402
403         - pass layout root to InspectorTimelineAgent::didLayout
404         - show rectangles of the layout root upon hover over the Layout record;
405
406         * inspector/InspectorInstrumentation.cpp:
407         (WebCore):
408         (WebCore::InspectorInstrumentation::didLayoutImpl):
409         * inspector/InspectorInstrumentation.h:
410         (WebCore):
411         (InspectorInstrumentation):
412         (WebCore::InspectorInstrumentation::didLayout):
413         * inspector/InspectorTimelineAgent.cpp:
414         (WebCore::InspectorTimelineAgent::didLayout):
415         * inspector/InspectorTimelineAgent.h:
416         (WebCore):
417         (InspectorTimelineAgent):
418         * inspector/TimelineRecordFactory.cpp:
419         (WebCore::TimelineRecordFactory::createPaintData):
420         (WebCore::TimelineRecordFactory::addRectData):
421         (WebCore):
422         * inspector/TimelineRecordFactory.h:
423         (TimelineRecordFactory):
424         * inspector/front-end/TimelinePanel.js:
425         (WebInspector.TimelinePanel.prototype._mouseMove):
426         * page/FrameView.cpp:
427         (WebCore::FrameView::layout):
428
429 2012-09-10  Andrey Kosyakov  <caseq@chromium.org>
430
431         Web Inspector: highlight of paint rectangles is broken
432         https://bugs.webkit.org/show_bug.cgi?id=96276
433
434         Reviewed by Pavel Feldman.
435
436         * inspector/InspectorOverlay.cpp:
437         (WebCore::InspectorOverlay::drawRectHighlight): Fix JS method name to match the one in InspectorOverlayPage.html
438
439 2012-09-11  Chris Guan  <chris.guan@torchmobile.com.cn>
440
441         [Blackberry] use ReadOnlyLatin1String to save a deep copy
442         https://bugs.webkit.org/show_bug.cgi?id=96364
443
444         Reviewed by Yong Li.
445         Internally reviewed by Yong li.
446
447         * platform/network/blackberry/NetworkManager.cpp:
448         (WebCore::NetworkManager::startJob):
449
450 2012-09-11  Sergio Villar Senin  <svillar@igalia.com>
451
452         [GTK] WebKitGtk+ crashes with non-UTF8 HTTP header names
453         https://bugs.webkit.org/show_bug.cgi?id=96284
454
455         Reviewed by Gustavo Noronha Silva.
456
457         Non UTF-8 characters sent as part of a HTTP header name were
458         causing crashes as String::fromUTF8() was returning NULL for
459         them. Use String::fromUTF8WithLatin1Fallback() instead.
460
461         Test: http/tests/misc/non-utf8-header-name.php
462
463         * platform/network/soup/ResourceResponseSoup.cpp:
464         (WebCore::ResourceResponse::updateFromSoupMessage):
465
466 2012-09-11  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
467
468         [Qt] Add a configure step to the Qt build system
469
470         This allows building the Qt port using just 'qmake WebKit.pro'. Using
471         the build-webkit script is still supported, and will add slightly more
472         logic to the build, such as detecting the need for clean or incremental
473         builds.
474
475         Internally, the build system now uses a new variable, WEBKIT_CONFIG, for
476         all things related to configuring the build, such as use/have/enable flags,
477         and these are translated to defines in default_post. Project files should
478         no longer check contains(DEFINES,...) to detect features, but use the new
479         enable?(), use?(), and have?() functions. The no_webkit1 and no_webkit2
480         options have been translated into WEBKIT_CONFIG options as well, and can
481         be checked using build?().
482
483         Reviewed by Simon Hausmann.
484
485         * DerivedSources.pri:
486         * Target.pri:
487         * WebCore.pri:
488
489 2012-09-11  Alexander Pavlov  <apavlov@chromium.org>
490
491         Web Inspector: Remove no-op TreeElement.prototype.didChange method
492         https://bugs.webkit.org/show_bug.cgi?id=96376
493
494         Reviewed by Yury Semikhatsky.
495
496         * inspector/front-end/treeoutline.js:
497         (TreeElement.prototype.set title):
498         (TreeElement.prototype.set tooltip):
499         (TreeElement.prototype.set hasChildren):
500
501 2012-09-11  Tommy Widenflycht  <tommyw@google.com>
502
503         MediaStream API: add RTCPeerConnection::onnegotiationneeded
504         https://bugs.webkit.org/show_bug.cgi?id=96097
505
506         Reviewed by Adam Barth.
507
508         This patch adds the last callback to RTCPeerConnection: onnegotiationneeded.
509         This is called whenever the state in the RTCPeerConnection changes and that
510         change needs to be sent to the other side.
511
512         Test: fast/mediastream/RTCPeerConnection-onnegotiationneeded.html
513
514         * Modules/mediastream/RTCPeerConnection.cpp:
515         (WebCore::RTCPeerConnection::negotiationNeeded):
516         (WebCore):
517         * Modules/mediastream/RTCPeerConnection.h:
518         (RTCPeerConnection):
519         * Modules/mediastream/RTCPeerConnection.idl:
520         * dom/EventNames.h:
521         (WebCore):
522         * platform/mediastream/RTCPeerConnectionHandlerClient.h:
523         (RTCPeerConnectionHandlerClient):
524         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
525         (WebCore::RTCPeerConnectionHandlerChromium::negotiationNeeded):
526         (WebCore):
527         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
528         (RTCPeerConnectionHandlerChromium):
529
530 2012-09-11  Kent Tamura  <tkent@chromium.org>
531
532         Sort an Xcode project file.
533
534         * WebCore.xcodeproj/project.pbxproj:
535
536 2012-09-11  Dan Carney  <dcarney@google.com>
537
538         Removed V8IsolatedContext
539         https://bugs.webkit.org/show_bug.cgi?id=95735
540
541         Reviewed by Adam Barth.
542
543         Remove V8IsolatedContext and merge functionality into V8DOMWindowShell.
544         This brings the V8 isolated world model into closer alignment with
545         that of JSC.
546
547         No new tests.  No change in functionality.
548
549         * UseV8.cmake:
550         * WebCore.gypi:
551         * bindings/scripts/CodeGeneratorV8.pm:
552         (GenerateImplementation):
553         * bindings/scripts/test/V8/V8Float64Array.cpp:
554         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
555         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
556         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
557         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
558         * bindings/scripts/test/V8/V8TestException.cpp:
559         * bindings/scripts/test/V8/V8TestInterface.cpp:
560         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
561         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
562         * bindings/scripts/test/V8/V8TestNode.cpp:
563         * bindings/scripts/test/V8/V8TestObj.cpp:
564         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
565         * bindings/v8/DOMData.cpp:
566         (WebCore::DOMData::getCurrentStore):
567         * bindings/v8/DOMWrapperWorld.cpp:
568         (WebCore::DOMWrapperWorld::ensureIsolatedWorld):
569         * bindings/v8/DOMWrapperWorld.h:
570         (DOMWrapperWorld):
571         * bindings/v8/ScriptController.cpp:
572         (WebCore::ScriptController::ScriptController):
573         (WebCore::ScriptController::resetIsolatedWorlds):
574         (WebCore::ScriptController::ensureIsolatedWorldContext):
575         (WebCore::ScriptController::existingWindowShellInternal):
576         (WebCore):
577         (WebCore::ScriptController::windowShell):
578         (WebCore::ScriptController::evaluateInIsolatedWorld):
579         (WebCore::ScriptController::setIsolatedWorldSecurityOrigin):
580         (WebCore::ScriptController::currentWorldContext):
581         (WebCore::ScriptController::evaluateInWorld):
582         (WebCore::ScriptController::collectIsolatedContexts):
583         * bindings/v8/ScriptController.h:
584         (WebCore):
585         (ScriptController):
586         (WebCore::ScriptController::existingWindowShell):
587         * bindings/v8/SharedPersistent.h:
588         (WebCore):
589         (WebCore::SharedPersistent::create):
590         (WebCore::SharedPersistent::get):
591         (WebCore::SharedPersistent::SharedPersistent):
592         (SharedPersistent):
593         * bindings/v8/V8Binding.cpp:
594         (WebCore::perContextDataForCurrentWorld):
595         * bindings/v8/V8DOMWindowShell.cpp:
596         (WebCore::setIsolatedWorldField):
597         (WebCore::V8DOMWindowShell::enteredIsolatedWorldContext):
598         (WebCore):
599         (WebCore::setInjectedScriptContextDebugId):
600         (WebCore::V8DOMWindowShell::create):
601         (WebCore::V8DOMWindowShell::V8DOMWindowShell):
602         (WebCore::V8DOMWindowShell::destroyIsolatedShell):
603         (WebCore::isolatedContextWeakCallback):
604         (WebCore::V8DOMWindowShell::disposeContext):
605         (WebCore::V8DOMWindowShell::initializeIfNeeded):
606         (WebCore::V8DOMWindowShell::createContext):
607         (WebCore::V8DOMWindowShell::installDOMWindow):
608         (WebCore::V8DOMWindowShell::updateDocumentWrapper):
609         (WebCore::V8DOMWindowShell::updateDocumentProperty):
610         (WebCore::V8DOMWindowShell::clearDocumentProperty):
611         (WebCore::V8DOMWindowShell::setSecurityToken):
612         (WebCore::V8DOMWindowShell::updateDocument):
613         (WebCore::V8DOMWindowShell::namedItemAdded):
614         (WebCore::V8DOMWindowShell::namedItemRemoved):
615         (WebCore::V8DOMWindowShell::updateSecurityOrigin):
616         (WebCore::V8DOMWindowShell::setIsolatedWorldSecurityOrigin):
617         * bindings/v8/V8DOMWindowShell.h:
618         (V8DOMWindowShell):
619         (WebCore::V8DOMWindowShell::world):
620         (WebCore::V8DOMWindowShell::isolatedWorldSecurityOrigin):
621         (WebCore::V8DOMWindowShell::getEntered):
622         * bindings/v8/V8DOMWrapper.h:
623         (WebCore::V8DOMWrapper::getCachedWrapper):
624         * bindings/v8/V8IsolatedContext.cpp: Removed.
625         * bindings/v8/V8IsolatedContext.h: Removed.
626         * bindings/v8/V8LazyEventListener.cpp:
627         * bindings/v8/WorldContextHandle.cpp:
628         (WebCore::WorldContextHandle::WorldContextHandle):
629         (WebCore::WorldContextHandle::adjustedContext):
630         * bindings/v8/custom/V8DocumentCustom.cpp:
631         (WebCore::toV8):
632         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
633         (WebCore::toV8):
634         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
635         (WebCore::toV8):
636         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
637         (WebCore::V8XMLHttpRequest::constructorCallback):
638
639 2012-09-11  Keishi Hattori  <keishi@webkit.org>
640
641         Create Localizer factory method for LocaleMac
642         https://bugs.webkit.org/show_bug.cgi?id=96355
643
644         Reviewed by Kent Tamura.
645
646         Preparing to use Localizer instead of LocaleMac/Win/ICU
647
648         No new tests. Covered in unit test tests/LocaleMacTest.cpp
649
650         * platform/text/Localizer.h:
651         (Localizer):
652         * platform/text/mac/LocaleMac.mm:
653         (WebCore::Localizer::create):
654         (WebCore):
655
656 2012-09-11  Mihnea Ovidenie  <mihnea@adobe.com>
657
658         [CSS Regions] Auto width is not working for Regions
659         https://bugs.webkit.org/show_bug.cgi?id=74135
660
661         Reviewed by Julien Chaffraix.
662
663         It was not possible to flow content into a region having { width: auto; } since in such case, the region width was computed to 0.
664         Now, a region having auto width, will have its width computed following the rules for calculation of widths and margins
665         (http://www.w3.org/TR/CSS2/visudet.html#Computing_widths_and_margins).
666         For those cases in which resolving the width requires measuring of content's min/max-content values, we use the associated named flow min/max-content
667         values (the same for all regions with width auto in a region chain).
668         When a region has width:auto, the computation of width should be done using normal block/box sizing code, instead of replaced element code.
669         Contains code contributed by Alexandru Chiculita(achicu@adobe.com).
670
671         Tests: fast/regions/autowidth-abspos-regionchain.html
672                fast/regions/autowidth-abspos.html
673                fast/regions/autowidth-attachedinvalidregion.html
674                fast/regions/autowidth-float.html
675                fast/regions/autowidth-inlineblock.html
676                fast/regions/autowidth-nonreplaced-abspos.html
677                fast/regions/autowidth-nonreplacedblock-normalflow.html
678                fast/regions/autowidth-normalflow-maxwidth.html
679                fast/regions/autowidth-normalflow-minmaxwidth.html
680                fast/regions/autowidth-normalflow-minwidth.html
681                fast/regions/autowidth-normalflow-vertrl.html
682                fast/regions/autowidth-normalflow.html
683
684         * rendering/RenderBox.cpp:
685         (WebCore::RenderBox::computePositionedLogicalWidth): For positioned auto-width regions, skip the code path for replaced elements.
686         * rendering/RenderRegion.cpp:
687         (WebCore): Override min/maxPreferredLogicalWidth as they are used in the process of computing width for regions with auto width.
688         As this moment, a region is still a RenderReplaced element, so this code needs to be revisited when the region will become a RenderBlock.
689         Also, for min/max-width, we support only <length> values. We will extend support for other values in a following patch.
690         We only attempt to use the flowThread min/maxPreferredLogicalWidth if the region is valid (there are no circular dependencies).
691         (WebCore::RenderRegion::minPreferredLogicalWidth):
692         (WebCore::RenderRegion::maxPreferredLogicalWidth):
693         * rendering/RenderRegion.h:
694         (RenderRegion): Override isInlineBlockOrInlineTable() and shouldComputeSizeAsReplaced() to ensure that computation for width auto follows the normal
695         block/box sizing code.
696         (WebCore::RenderRegion::expandToEncompassFlowThreadContentsIfNeeded):
697
698 2012-09-10  Ilya Tikhonovsky  <loislo@chromium.org>
699
700         Web Inspector: NMI: move MemoryInstrumentation.h to wtf
701         https://bugs.webkit.org/show_bug.cgi?id=96356
702
703         Reviewed by Yury Semikhatsky.
704
705         It is necessary step because it helps us to remove dependency between platform and WebCore.
706
707         * GNUmakefile.list.am:
708         * Target.pri:
709         * WebCore.gypi:
710         * WebCore.vcproj/WebCore.vcproj:
711         * WebCore.xcodeproj/project.pbxproj:
712         * dom/WebCoreMemoryInstrumentation.h:
713         * inspector/MemoryInstrumentationImpl.h:
714
715 2012-09-10  Keishi Hattori  <keishi@webkit.org>
716
717         Move InputTypeNames to a separate file
718         https://bugs.webkit.org/show_bug.cgi?id=96255
719
720         Reviewed by Kent Tamura.
721
722         We want to move InputTypeNames to a separate file so we can use it without including InputType.h.
723
724         No new tests. No behavior change.
725
726         * CMakeLists.txt:
727         * GNUmakefile.list.am:
728         * Target.pri:
729         * WebCore.gypi:
730         * WebCore.vcproj/WebCore.vcproj:
731         * WebCore.xcodeproj/project.pbxproj:
732         * html/ButtonInputType.cpp:
733         * html/CheckboxInputType.cpp:
734         * html/ColorInputType.cpp:
735         * html/DateInputType.cpp:
736         * html/DateTimeInputType.cpp:
737         * html/DateTimeLocalInputType.cpp:
738         * html/EmailInputType.cpp:
739         * html/FileInputType.cpp:
740         * html/HiddenInputType.cpp:
741         * html/ImageInputType.cpp:
742         * html/InputType.cpp:
743         * html/InputType.h:
744         * html/InputTypeNames.cpp: Added.
745         (WebCore):
746         (InputTypeNames):
747         (WebCore::InputTypeNames::button):
748         (WebCore::InputTypeNames::checkbox):
749         (WebCore::InputTypeNames::color):
750         (WebCore::InputTypeNames::date):
751         (WebCore::InputTypeNames::datetime):
752         (WebCore::InputTypeNames::datetimelocal):
753         (WebCore::InputTypeNames::email):
754         (WebCore::InputTypeNames::file):
755         (WebCore::InputTypeNames::hidden):
756         (WebCore::InputTypeNames::image):
757         (WebCore::InputTypeNames::month):
758         (WebCore::InputTypeNames::number):
759         (WebCore::InputTypeNames::password):
760         (WebCore::InputTypeNames::radio):
761         (WebCore::InputTypeNames::range):
762         (WebCore::InputTypeNames::reset):
763         (WebCore::InputTypeNames::search):
764         (WebCore::InputTypeNames::submit):
765         (WebCore::InputTypeNames::telephone):
766         (WebCore::InputTypeNames::text):
767         (WebCore::InputTypeNames::time):
768         (WebCore::InputTypeNames::url):
769         (WebCore::InputTypeNames::week):
770         * html/InputTypeNames.h: Added.
771         (WebCore):
772         (InputTypeNames):
773         * html/MonthInputType.cpp:
774         * html/NumberInputType.cpp:
775         * html/PasswordInputType.cpp:
776         * html/RadioInputType.cpp:
777         * html/RangeInputType.cpp:
778         * html/ResetInputType.cpp:
779         * html/SearchInputType.cpp:
780         * html/SubmitInputType.cpp:
781         * html/TelephoneInputType.cpp:
782         * html/TextInputType.cpp:
783         * html/TimeInputType.cpp:
784         * html/URLInputType.cpp:
785         * html/WeekInputType.cpp:
786         * html/parser/HTMLPreloadScanner.cpp:
787         * platform/efl/RenderThemeEfl.cpp:
788         * rendering/RenderThemeChromiumCommon.cpp:
789
790 2012-09-10  Yoshifumi Inoue  <yosin@chromium.org>
791
792         REGRESSION (r127226): Calling DateTimeEditElement::layout() in focus handler should not dispatch blur event
793         https://bugs.webkit.org/show_bug.cgi?id=96232
794
795         Reviewed by Kent Tamura.
796
797         This patch makes DateTimeEditElement::layout() not to dispatch blur
798         event by removing existing fields, one of them can be focused, after
799         moving focus to newly created field.
800
801         This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
802         ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
803
804         Test: fast/forms/time-multiple-fields/time-multiple-fields-state-change-on-focus-or-blur.html
805
806         * html/shadow/DateTimeEditElement.cpp:
807         (WebCore::DateTimeEditBuilder::build): Changed to call resetFields().
808         (WebCore::DateTimeEditElement::focusedFieldIndex): Changed to use
809         Document::focusedNode(). When this function is called during handling
810         focus event, Element::focused() isn't true.
811         (WebCore::DateTimeEditElement::layout): Changed to remove existing
812         child nodes after moving focus to newly created field.
813         (WebCore::DateTimeEditElement::resetFields): Renamed from resetLayout().
814         This function makes m_fields vector empty.
815         (WebCore::DateTimeEditElement::resetLayout): Renamed to resetFields().
816         We moved removing field elements and spin button to layout().
817         * html/shadow/DateTimeEditElement.h:
818         (DateTimeEditElement): Renamed resetLayout() to resetFields().
819
820 2012-09-10  Keishi Hattori  <keishi@webkit.org>
821
822         Rename NumberLocalizer to Localizer
823         https://bugs.webkit.org/show_bug.cgi?id=96350
824
825         Reviewed by Kent Tamura.
826
827         Renaming NumberLocalizer to Localizer so we can unify our localization methods into this class in the future.
828
829         No new tests. No behavior change.
830
831         * WebCore.gypi:
832         * WebCore.xcodeproj/project.pbxproj:
833         * platform/text/LocaleICU.cpp:
834         (WebCore::LocaleICU::initializeLocalizerData):
835         * platform/text/LocaleICU.h:
836         (LocaleICU):
837         * platform/text/LocaleWin.cpp:
838         (WebCore::LocaleWin::initializeLocalizerData):
839         * platform/text/LocaleWin.h:
840         (LocaleWin):
841         * platform/text/Localizer.cpp: Renamed from Source/WebCore/platform/text/NumberLocalizer.cpp.
842         (WebCore):
843         (WebCore::Localizer::~Localizer):
844         (WebCore::Localizer::setLocalizerData):
845         (WebCore::Localizer::convertToLocalizedNumber):
846         (WebCore::matches):
847         (WebCore::Localizer::detectSignAndGetDigitRange):
848         (WebCore::Localizer::matchedDecimalSymbolIndex):
849         (WebCore::Localizer::convertFromLocalizedNumber):
850         (WebCore::Localizer::localizedDecimalSeparator):
851         * platform/text/Localizer.h: Renamed from Source/WebCore/platform/text/NumberLocalizer.h.
852         (WebCore):
853         (Localizer):
854         (WebCore::Localizer::Localizer):
855         * platform/text/mac/LocaleMac.h:
856         (LocaleMac):
857         * platform/text/mac/LocaleMac.mm:
858         (WebCore::LocaleMac::initializeLocalizerData):
859
860 2012-09-10  Dan Bernstein  <mitz@apple.com>
861
862         Use an API symbol instead of a hardcoded string for the TIFF uniform type identifier.
863
864         Reviewed by Mark Rowe.
865
866         * platform/graphics/mac/ImageMac.mm:
867         (WebCore::BitmapImage::getTIFFRepresentation): Replaced CFSTR("public.tiff") with kUTTypeTIFF.
868
869 2012-09-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
870
871         [CMake] Remove duplicated file in CMakeLists.txt
872         https://bugs.webkit.org/show_bug.cgi?id=96346
873
874         Reviewed by Benjamin Poulain.
875
876         * CMakeLists.txt: Remove duplicated files.
877
878 2012-09-10  Joanmarie Diggs  <jdiggs@igalia.com>
879
880         Properly expose <legend> elements to ATs
881         https://bugs.webkit.org/show_bug.cgi?id=84137
882
883         Reviewed by Chris Fleizach.
884
885         Created a new WebCore Accessibility Role, LegendRole. Used it to map to
886         the expected platform role, ATK_ROLE_LABEL. Also established the needed
887         AtkRelation pair, label-for/labelled-by between the legend and fieldset.
888
889         No new test needed - Existing legend.html test is now unskipped for Gtk.
890
891         * accessibility/AccessibilityObject.h: Added LegendRole
892         * accessibility/AccessibilityRenderObject.cpp:
893         (WebCore::AccessibilityRenderObject::determineAccessibilityRole): Map legendTag to LegendRole
894         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
895         (webkitAccessibleGetName): Fieldset accessible should take its name from the associated LegendRole/label
896         (setAtkRelationSetFromCoreObject): Set label-for/labelled-by AtkRelation pair between fieldset and legend
897         (atkRole): Map LegendRole to ATK_ROLE_LABEL
898         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
899         (createAccessibilityRoleMap):  Map LegendRole to NSAccessibilityGroupRole
900
901 2012-09-10  Adam Barth  <abarth@chromium.org>
902
903         [V8] Code assumes that getScriptExecutionContext can return 0
904         https://bugs.webkit.org/show_bug.cgi?id=96340
905
906         Reviewed by Eric Seidel.
907
908         This function can never return 0 (as long as V8 is on the stack).
909         There's no reason to try to handle a 0 return as an error.
910
911         * bindings/scripts/CodeGeneratorV8.pm:
912         (GenerateCallWith):
913         (GenerateConstructorCallback):
914         * bindings/scripts/test/V8/V8TestInterface.cpp:
915         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
916         (WebCore::V8TestInterface::constructorCallback):
917         * bindings/scripts/test/V8/V8TestObj.cpp:
918         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter):
919         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrSetter):
920         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
921         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetter):
922         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
923         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetter):
924         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
925         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
926         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
927         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter):
928         (WebCore::TestObjV8Internal::withScriptExecutionContextCallback):
929         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateCallback):
930         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
931         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
932         * bindings/v8/custom/V8BlobCustom.cpp:
933         (WebCore::V8Blob::constructorCallback):
934         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
935         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
936         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
937         (WebCore::V8MessageChannel::constructorCallback):
938         * bindings/v8/custom/V8MutationObserverCustom.cpp:
939         (WebCore::V8MutationObserver::constructorCallback):
940         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
941         (WebCore::V8SQLTransaction::executeSqlCallback):
942         * bindings/v8/custom/V8WebSocketCustom.cpp:
943         (WebCore::V8WebSocket::constructorCallback):
944         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
945         (WebCore::V8XMLHttpRequest::constructorCallback):
946         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
947         (WebCore::V8XMLHttpRequest::openCallback):
948
949 2012-09-10  Adam Barth  <abarth@chromium.org>
950
951         [V8] We don't us the global handle map for anything useful---let's remove it
952         https://bugs.webkit.org/show_bug.cgi?id=96343
953
954         Reviewed by Kentaro Hara.
955
956         The global handle map was a dream of tracking all the persistent V8
957         handles in WebCore. Unfortunately, it has never been complete, and I'm
958         not aware of us using it for anything. This patch removes what little
959         is left of it.
960
961         * bindings/v8/NPV8Object.cpp:
962         (WebCore::freeV8NPObject):
963         (WebCore::npCreateV8ScriptObject):
964         * bindings/v8/V8GCController.cpp:
965         (WebCore):
966         (WebCore::V8GCController::gcEpilogue):
967         (WebCore::V8GCController::collectGarbage):
968         * bindings/v8/V8GCController.h:
969         (V8GCController):
970         * bindings/v8/V8PerIsolateData.h:
971         (WebCore):
972         (V8PerIsolateData):
973
974 2012-09-10  John Bates  <jbates@google.com>
975
976         [chromium] Fix trace event macro naming issue
977         https://bugs.webkit.org/show_bug.cgi?id=96337
978
979         Reviewed by James Robinson.
980
981         * platform/chromium/TraceEvent.h:
982
983 2012-09-10  Joshua Bell  <jsbell@chromium.org>
984
985         IndexedDB: IDBFactory.deleteDatabase() is slow
986         https://bugs.webkit.org/show_bug.cgi?id=96036
987
988         Reviewed by Tony Chang.
989
990         The deleteDatabase() operation is implemented by creating a LevelDBTansaction to accumulate
991         the records to delete, then committing it. The transaction is a tree of key/operation pairs.
992         As each (key, delete) entry is added to the tree compares need to be made, potentially
993         requiring full key decodes. Since this temporary transaction is never read from, this is
994         overkill.
995
996         Add a new "write only" transaction type that simply wraps a write batch, which provides
997         transaction integrity but avoids the insertion overhead and has a minimal interface.
998
999         No new tests - no functional changes, only perf improvement.
1000
1001         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
1002         (WebCore::IDBLevelDBBackingStore::deleteDatabase): Use new write-only transaction type.
1003         * platform/leveldb/LevelDBTransaction.cpp:
1004         (WebCore::LevelDBWriteOnlyTransaction::create):
1005         (WebCore):
1006         (WebCore::LevelDBWriteOnlyTransaction::LevelDBWriteOnlyTransaction):
1007         (WebCore::LevelDBWriteOnlyTransaction::~LevelDBWriteOnlyTransaction):
1008         (WebCore::LevelDBWriteOnlyTransaction::remove):
1009         (WebCore::LevelDBWriteOnlyTransaction::commit):
1010         * platform/leveldb/LevelDBTransaction.h:
1011         (WebCore):
1012         (LevelDBWriteOnlyTransaction):
1013
1014 2012-09-10  Adam Barth  <abarth@chromium.org>
1015
1016         [V8] createFunctionOnlyCallback should be in V8Callback.h with the other callback functions
1017         https://bugs.webkit.org/show_bug.cgi?id=96336
1018
1019         Reviewed by Kentaro Hara.
1020
1021         Moving this function to V8Callback.h also lets us delete
1022         setTypeMismatchException because we no longer have a header inclusion
1023         cycle.
1024
1025         * bindings/v8/V8Callback.h:
1026         (WebCore::createFunctionOnlyCallback):
1027         (WebCore):
1028         * bindings/v8/V8Utilities.cpp:
1029         * bindings/v8/V8Utilities.h:
1030         (WebCore):
1031         * bindings/v8/custom/V8GeolocationCustom.cpp:
1032         * bindings/v8/custom/V8NotificationCustom.cpp:
1033
1034 2012-09-10  Beth Dakin  <bdakin@apple.com>
1035
1036         https://bugs.webkit.org/show_bug.cgi?id=96158
1037         Need API to suppress scrollbar animations
1038         -and corresponding-
1039         <rdar://problem/12210972>
1040
1041         Reviewed by Sam Weinig.
1042
1043         This patch re-names ScrollableAre::isOnActivePage() to 
1044         ScrollableArea::scrollbarsCanBeActive(). The new name better reflects 
1045         how the function is actually used, and it allows us to use the same 
1046         function for the new API that has been added to WebKit2. Now when a 
1047         client has used that API to indicate that scrollbars should be 
1048         suppressed, ScrollableArea::scrollbarsCanBeActive() will return 
1049         false.
1050
1051         Page has a new member variable which indicated whether scrollbar 
1052         animations for all scrollbars associated with that page should be 
1053         suppressed. Whenever it is set to true (meaning the animations 
1054         should be suppressed), Page iterates through all of the 
1055         ScrollableAreas to tell each one to finishCurrentScrollAnimations().
1056         * WebCore.exp.in:
1057         * page/Page.cpp:
1058         (WebCore::Page::Page):
1059         (WebCore::Page::setShouldSuppressScrollbarAnimations):
1060         (WebCore):
1061         * page/Page.h:
1062         (WebCore::Page::shouldSuppressScrollbarAnimations):
1063         (Page):
1064
1065         FrameView::isOnActivePage() is renamed to scrollbarsCanBeActive () 
1066         and it will now return false if the Page says that scrollbar 
1067         animations should be suppressed. 
1068         * page/FrameView.cpp:
1069         (WebCore::FrameView::scrollbarsCanBeActive):
1070
1071         scrollbarsCanBeActive() must now be a public member of FrameView so  
1072         that it can be called from RenderLayer and RenderListBox.
1073         * page/FrameView.h:
1074         (FrameView):
1075
1076         New ScrollAnimator function calls hideOverlayScrollers.
1077         * platform/ScrollAnimator.h:
1078         (WebCore::ScrollAnimator::finishCurrentScrollAnimations):
1079         (ScrollAnimator):
1080         * platform/ScrollableArea.cpp:
1081         (WebCore::ScrollableArea::finishCurrentScrollAnimations):
1082         (WebCore):
1083         * platform/ScrollableArea.h:
1084         (ScrollableArea):
1085         * platform/mac/ScrollAnimatorMac.h:
1086         (ScrollAnimatorMac):
1087         (WebCore::ScrollAnimatorMac::finishCurrentScrollAnimations):
1088
1089         Re-name. isOnActivePage() -> scrollbarsCanBeActive()
1090         (WebCore::FrameView::setAnimatorsAreActive):
1091         (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
1092         * platform/mac/ScrollAnimatorMac.mm:
1093         (-[WebScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
1094         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
1095         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
1096         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
1097         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
1098         (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
1099         (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
1100         (WebCore::ScrollAnimatorMac::willStartLiveResize):
1101         (WebCore::ScrollAnimatorMac::contentsResized):
1102         (WebCore::ScrollAnimatorMac::willEndLiveResize):
1103         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
1104         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
1105         (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
1106         (WebCore::ScrollAnimatorMac::didEndScrollGesture):
1107         (WebCore::ScrollAnimatorMac::mayBeginScrollGesture):
1108         (WebCore):
1109         (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
1110         (WebCore::ScrollAnimatorMac::updateScrollerStyle):
1111         * rendering/RenderLayer.cpp:
1112
1113         RenderLayer and RenderListBox should call into FrameView's 
1114         scrollbarsCanBeActive() so that they also return false when Page:: 
1115         shouldSuppressScrollbarAnimations() is true.
1116         (WebCore::RenderLayer::scrollbarsCanBeActive):
1117         * rendering/RenderLayer.h:
1118         (RenderLayer):
1119         * rendering/RenderListBox.cpp:
1120         (WebCore::RenderListBox::scrollbarsCanBeActive):
1121         * rendering/RenderListBox.h:
1122
1123         This is the one caller of ScrollableArea:: scrollbarsCanBeActive() 
1124         that needs to distinguish between the scrollbar-suppressing scenario 
1125         and the in-the-page-cache scenario.
1126         * page/FocusController.cpp:
1127         (WebCore::FocusController::setContainingWindowIsVisible):
1128
1129 2012-09-10  James Robinson  <jamesr@chromium.org>
1130
1131         Unreviewed, rolling out r127837.
1132         http://trac.webkit.org/changeset/127837
1133         https://bugs.webkit.org/show_bug.cgi?id=93898
1134
1135         Broke ScrollingCoordinator on chromium
1136
1137         * WebCore.xcodeproj/project.pbxproj:
1138         * page/scrolling/ScrollingCoordinator.cpp:
1139         (WebCore::ScrollingCoordinator::frameViewHasSlowRepaintObjectsDidChange):
1140         (WebCore::ScrollingCoordinator::frameViewFixedObjectsDidChange):
1141         (WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
1142         (WebCore::ScrollingCoordinator::hasNonLayerFixedObjects):
1143         (WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThread):
1144         (WebCore::ScrollingCoordinator::setForceMainThreadScrollLayerPositionUpdates):
1145         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
1146         * page/scrolling/ScrollingCoordinator.h:
1147         (ScrollingCoordinator):
1148         * page/scrolling/ScrollingCoordinatorNone.cpp:
1149         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
1150         * page/scrolling/ScrollingTree.cpp:
1151         (WebCore::ScrollingTree::scrollingPeformanceLoggingEnabled):
1152         * page/scrolling/ScrollingTree.h:
1153         * page/scrolling/ScrollingTreeNode.cpp:
1154         (WebCore::ScrollingTreeNode::ScrollingTreeNode):
1155         (WebCore::ScrollingTreeNode::update):
1156         * page/scrolling/ScrollingTreeNode.h:
1157         (WebCore::ScrollingTreeNode::shouldUpdateScrollLayerPositionOnMainThread):
1158         (ScrollingTreeNode):
1159         * page/scrolling/ScrollingTreeState.cpp:
1160         (WebCore::ScrollingTreeState::ScrollingTreeState):
1161         (WebCore::ScrollingTreeState::setShouldUpdateScrollLayerPositionOnMainThread):
1162         * page/scrolling/ScrollingTreeState.h:
1163         (WebCore::ScrollingTreeState::shouldUpdateScrollLayerPositionOnMainThread):
1164         (ScrollingTreeState):
1165         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
1166         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
1167         * page/scrolling/mac/ScrollingTreeMac.mm:
1168         (WebCore::ScrollingTree::updateDebugRootLayer):
1169         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
1170         (WebCore::ScrollingTreeNodeMac::update):
1171         (WebCore::ScrollingTreeNodeMac::scrollPosition):
1172         (WebCore::ScrollingTreeNodeMac::setScrollPosition):
1173         (WebCore::ScrollingTreeNodeMac::setScrollPositionWithoutContentEdgeConstraints):
1174         (WebCore::ScrollingTreeNodeMac::setScrollLayerPosition):
1175
1176 2012-09-10  Philip Rogers  <pdr@google.com>
1177
1178         Remove unnecessary codepaths in SMILTimeContainer::updateAnimations
1179         https://bugs.webkit.org/show_bug.cgi?id=96224
1180
1181         Reviewed by Nikolas Zimmermann.
1182
1183         This change removes two sources of unnecessary code in
1184         SMILTimeContainer::updateAnimations:
1185             1) After r117711 we now accumulate the result of multiple
1186                animations into the first _contributing_ animation
1187                element. As a result it is no longer necessary to
1188                track both which elements are contributing AND which elements
1189                we are storing results into. Both cases are now handled
1190                together with resultsElements.
1191
1192             2) r32044 added a second sort of the animation elements
1193                in order to process animateTransform last. This change
1194                was added 4 years ago, before we correctly handled <use>
1195                and the instance tree, and I think the extra sort is no
1196                longer necessary. A test has been added to ensure this
1197                is the case.
1198
1199         This change also does a minor cleanup of resultsElements. Previously,
1200         we added animation elements to resultsElements and then removed them
1201         if the animation element did not contribute. After this change, we
1202         only add to resultsElements (no more add-then-remove).
1203
1204         Test: svg/animations/use-animate-transform-and-position.html
1205
1206         * svg/animation/SMILTimeContainer.cpp:
1207         (WebCore::SMILTimeContainer::sortByPriority):
1208         (WebCore::SMILTimeContainer::updateAnimations):
1209
1210 2012-09-10  Ojan Vafai  <ojan@chromium.org>
1211
1212         Rename box-sizing applying methods to be more clear about just applying box-sizing.
1213         https://bugs.webkit.org/show_bug.cgi?id=96319
1214
1215         Reviewed by Tony Chang.
1216
1217         This is strictly a rename. No logic or web-exposed changes.
1218
1219         * rendering/AutoTableLayout.cpp:
1220         (WebCore::AutoTableLayout::recalcColumn):
1221         * rendering/FixedTableLayout.cpp:
1222         (WebCore::FixedTableLayout::calcWidthArray):
1223         * rendering/RenderBlock.cpp:
1224         (WebCore::RenderBlock::computePreferredLogicalWidths):
1225         * rendering/RenderBox.cpp:
1226         (WebCore::RenderBox::adjustBorderBoxLogicalWidthForBoxSizing):
1227         (WebCore::RenderBox::adjustBorderBoxLogicalHeightForBoxSizing):
1228         (WebCore::RenderBox::adjustContentBoxLogicalWidthForBoxSizing):
1229         (WebCore::RenderBox::adjustContentBoxLogicalHeightForBoxSizing):
1230         (WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
1231         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
1232         (WebCore::RenderBox::computeLogicalHeightUsing):
1233         (WebCore::RenderBox::computeLogicalClientHeight):
1234         (WebCore::RenderBox::computePercentageLogicalHeight):
1235         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
1236         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
1237         (WebCore::RenderBox::availableLogicalHeightUsing):
1238         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
1239         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
1240         * rendering/RenderBox.h:
1241         (RenderBox):
1242         * rendering/RenderDeprecatedFlexibleBox.cpp:
1243         (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
1244         * rendering/RenderFileUploadControl.cpp:
1245         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
1246         * rendering/RenderFlexibleBox.cpp:
1247         (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
1248         (WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):
1249         * rendering/RenderListBox.cpp:
1250         (WebCore::RenderListBox::computePreferredLogicalWidths):
1251         * rendering/RenderMenuList.cpp:
1252         (WebCore::RenderMenuList::computePreferredLogicalWidths):
1253         * rendering/RenderSlider.cpp:
1254         (WebCore::RenderSlider::computePreferredLogicalWidths):
1255         * rendering/RenderTextControl.cpp:
1256         (WebCore::RenderTextControl::computePreferredLogicalWidths):
1257
1258 2012-09-10  Jer Noble  <jer.noble@apple.com>
1259
1260         Unreviewed; rolling out r128081.
1261         http://trac.webkit.org/changeset/128081
1262         https://bugs.webkit.org/show_bug.cgi?id=96134
1263
1264         New test http/tests/media/video-donottrack.html fails to run on Apple test bots.
1265
1266         * html/HTMLMediaElement.cpp:
1267         * html/HTMLMediaElement.h:
1268         (HTMLMediaElement):
1269         * loader/FrameLoaderClient.h:
1270         * platform/graphics/MediaPlayer.h:
1271         (MediaPlayer):
1272         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1273         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
1274
1275 2012-09-10  Dimitri Glazkov  <dglazkov@chromium.org>
1276
1277         Reduce the number of treeScope queries when matching rules.
1278         https://bugs.webkit.org/show_bug.cgi?id=96315
1279
1280         Reviewed by Eric Seidel.
1281
1282         In the worst case, treeScope() requires a HashMap lookup, which could be slow. Since the value is always the same for the element,
1283         we can just ask for it once.
1284
1285         No new tests, no change in behavior.
1286
1287         * css/StyleResolver.cpp:
1288         (WebCore::StyleResolver::collectMatchingRulesForList): Moved the call to treeScope out of the loop.
1289
1290 2012-09-10  Adam Barth  <abarth@chromium.org>
1291
1292         [V8] V8PerIsolateData::m_toStringTemplate leaks memory
1293         https://bugs.webkit.org/show_bug.cgi?id=96322
1294
1295         Reviewed by Kentaro Hara.
1296
1297         We never call Dispose to balance the call to v8::Persistent::New. This
1298         patch uses ScopedPersistent to call Dispose automatically.
1299
1300         * bindings/v8/V8PerIsolateData.cpp:
1301         (WebCore::V8PerIsolateData::toStringTemplate):
1302             - I've changed this function to return a new local handle in case
1303               anyone is trying to hold on to these handles during shutdown.
1304         * bindings/v8/V8PerIsolateData.h:
1305         (V8PerIsolateData):
1306
1307 2012-09-10  Adam Barth  <abarth@chromium.org>
1308
1309         [V8] V8LazyEventListener::prepareListenerObject uses inefficient string operations
1310         https://bugs.webkit.org/show_bug.cgi?id=96324
1311
1312         Reviewed by Kentaro Hara.
1313
1314         Previously, this code called String::append several times, which
1315         mallocs a new string buffer each time. This patch switches this code to
1316         use operator+, which uses StringAppend to optimize these operations
1317         down to a single malloc.
1318
1319         * bindings/v8/V8LazyEventListener.cpp:
1320         (WebCore::V8LazyEventListener::prepareListenerObject):
1321
1322 2012-09-10  Adam Barth  <abarth@chromium.org>
1323
1324         [V8] V8AuxiliaryContext used by IDB leaks memory
1325         https://bugs.webkit.org/show_bug.cgi?id=96317
1326
1327         Reviewed by Tony Chang.
1328
1329         Before this patch, we leaked m_auxiliaryContext on V8PerIsolateData
1330         because no one ever called Dispose to balance the call to
1331         V8::Context::New. This patch uses ScopedPersistent to call Dispose
1332         automatically.
1333
1334         Also, I've deleted the V8AuxiliaryContext because it just reinvents
1335         V8::Context::Scope.
1336
1337         * bindings/v8/IDBBindingUtilities.cpp:
1338         (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
1339         (WebCore::injectIDBKeyIntoSerializedValue):
1340         * bindings/v8/V8PerIsolateData.cpp:
1341         (WebCore::V8PerIsolateData::ensureAuxiliaryContext):
1342         (WebCore):
1343         * bindings/v8/V8PerIsolateData.h:
1344         (V8PerIsolateData):
1345         * bindings/v8/V8Utilities.cpp:
1346         * bindings/v8/V8Utilities.h:
1347
1348 2012-09-10  Adam Barth  <abarth@chromium.org>
1349
1350         [V8] currentDocument doesn't need to handle the case where there is no v8::Context
1351         https://bugs.webkit.org/show_bug.cgi?id=96312
1352
1353         Reviewed by Eric Seidel.
1354
1355         This function is always called while V8 is on the stack. It doesn't
1356         need to handle this impossible error condition.
1357
1358         * bindings/v8/BindingState.cpp:
1359         (WebCore::currentDocument):
1360
1361 2012-09-10  Adam Barth  <abarth@chromium.org>
1362
1363         [V8] Inline firstFrame and currentFrame into their unique callers
1364         https://bugs.webkit.org/show_bug.cgi?id=96309
1365
1366         Reviewed by Eric Seidel.
1367
1368         These functions have only one caller. We'd prefer not to have more
1369         callers (because there's usually no reason to indirect through the
1370         Frame), so we should inline them into their one caller (which is the
1371         Chromium WebKit API).
1372
1373         * bindings/js/BindingState.h:
1374         (WebCore):
1375         * bindings/v8/BindingState.cpp:
1376         * bindings/v8/BindingState.h:
1377         (WebCore):
1378         * bindings/v8/ScriptController.cpp:
1379         * bindings/v8/ScriptController.h:
1380         (ScriptController):
1381
1382 2012-09-10  Justin Novosad  <junov@chromium.org>
1383
1384         Implement canvas v5 line dash feature
1385         https://bugs.webkit.org/show_bug.cgi?id=82560
1386
1387         Reviewed by Darin Adler.
1388
1389         Adding new canvas 2d context API methods getLineDash and setLineDash,
1390         and new attribute lineDashOffset. Implementation mostly based on
1391         the existing webkitLineDash feature, with changes that reflect the
1392         canvas v5 specification. This change is visible to all JS ports,
1393         unlike webkitLineDash which is not exposed to V8. The new lineDash 
1394         and the legacy webkitLineDash features access the same rendering
1395         context state. The JavasScriptCore binding layer was augmented to
1396         support the sequence<float> IDL type.
1397
1398         Tests: fast/canvas/canvas-lineDash-invalid.html
1399                fast/canvas/canvas-lineDash.html
1400
1401         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1402         (WebCore::JSCanvasRenderingContext2D::webkitLineDash):
1403         (WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):
1404         * bindings/js/JSDOMBinding.h:
1405         Added template specialization on float to NativeValueTraits in order to
1406         add support for the sequence<double> IDL type to JavaScriptCore.
1407         * html/canvas/CanvasRenderingContext2D.cpp:
1408         (WebCore::CanvasRenderingContext2D::getLineDash):
1409         New 2D canvas API method, returns the current line dash array
1410         (WebCore::lineDashSequenceIsValid):
1411         Returns true if the line dash array contains only non-negative finite
1412         numbers.
1413         (WebCore::CanvasRenderingContext2D::setLineDash):
1414         New 2D canvas API method, set the line dash array.
1415         (WebCore::CanvasRenderingContext2D::setWebkitLineDash):
1416         Legacy implementation, does not double the new line dash array if
1417         it contains an odd number of elements.  Just accepts it as is.
1418         (WebCore::CanvasRenderingContext2D::lineDashOffset):
1419         Attribute getter
1420         (WebCore::CanvasRenderingContext2D::setLineDashOffset):
1421         Attribute setter
1422         (WebCore::CanvasRenderingContext2D::webkitLineDashOffset):
1423         Alias for lineDashOffset
1424         (WebCore::CanvasRenderingContext2D::setWebkitLineDashOffset):
1425         Alias for setLineDashOffset
1426         (WebCore::CanvasRenderingContext2D::applyLineDash):
1427         Sends the line dash state to the GraphicsContext
1428         * html/canvas/CanvasRenderingContext2D.h:
1429         (CanvasRenderingContext2D):
1430         (State):
1431         * html/canvas/CanvasRenderingContext2D.idl:
1432         * platform/graphics/DashArray.h:
1433
1434 2012-09-10  Sheriff Bot  <webkit.review.bot@gmail.com>
1435
1436         Unreviewed, rolling out r128109.
1437         http://trac.webkit.org/changeset/128109
1438         https://bugs.webkit.org/show_bug.cgi?id=96326
1439
1440         broke win and lion builds (Requested by kling on #webkit).
1441
1442         * WebCore.exp.in:
1443         * dom/Element.cpp:
1444         (WebCore::Element::createMutableAttributeData):
1445         * dom/ElementAttributeData.cpp:
1446         (WebCore::immutableElementAttributeDataSize):
1447         (WebCore::ElementAttributeData::createImmutable):
1448         (WebCore::ElementAttributeData::ElementAttributeData):
1449         (WebCore::ElementAttributeData::~ElementAttributeData):
1450         (WebCore::ElementAttributeData::addAttribute):
1451         (WebCore::ElementAttributeData::removeAttribute):
1452         (WebCore::ElementAttributeData::reportMemoryUsage):
1453         (WebCore::ElementAttributeData::cloneDataFrom):
1454         (WebCore::ElementAttributeData::clearAttributes):
1455         * dom/ElementAttributeData.h:
1456         (WebCore):
1457         (WebCore::ElementAttributeData::create):
1458         (ElementAttributeData):
1459         (WebCore::ElementAttributeData::isMutable):
1460         (WebCore::ElementAttributeData::makeMutable):
1461         (WebCore::ElementAttributeData::length):
1462         (WebCore::ElementAttributeData::attributeItem):
1463
1464 2012-09-10  Chris Fleizach  <cfleizach@apple.com>
1465
1466         AccessibilityNodeObject* is not in Mac xcode file
1467         https://bugs.webkit.org/show_bug.cgi?id=96327
1468
1469         Reviewed by Sam Weinig.
1470
1471         * WebCore.xcodeproj/project.pbxproj:
1472
1473 2012-09-07  Jon Lee  <jonlee@apple.com>
1474
1475         Update notifications to latest spec
1476         https://bugs.webkit.org/show_bug.cgi?id=91726
1477         <rdar://problem/11910451>
1478
1479         Reviewed by Alexey Proskuryakov.
1480
1481         Among the changes:
1482
1483         Addition of lang attribute
1484         http://lists.w3.org/Archives/Public/public-web-notification/2012Jul/0025.html
1485
1486         Specification of icon URL is icon instead of iconURL
1487         http://lists.w3.org/Archives/Public/public-web-notification/2012Jul/0012.html
1488
1489         Tests are not possible since at best they only verify exposure of the attributes, which isn't
1490         terribly useful, and use of the attributes depend on the platform.
1491
1492         * Modules/notifications/Notification.cpp:
1493         (WebCore::Notification::create): Add support for reading lang, dir, and icon from option dictionary.
1494         * Modules/notifications/Notification.h:
1495         (Notification): Make url() and setURL(), which are used for HTML notifications, only available with
1496         ENABLE(LEGACY_NOTIFICATIONS).
1497         (WebCore::Notification::setIconURL): Added so that it can be set from the option dictionary.
1498         (WebCore::Notification::lang):
1499         (WebCore::Notification::setLang):
1500         * Modules/notifications/Notification.idl: According to specification, dir is not exposed.
1501
1502 2012-08-31  Jon Lee  <jonlee@apple.com>
1503
1504         The options dictionary in Notification constructor should not accept event listeners
1505         https://bugs.webkit.org/show_bug.cgi?id=95538
1506         <rdar://problem/12213901>
1507
1508         Reviewed by Alexey Proskuryakov.
1509
1510         The latest spec only allows setting the event listeners after the notification has been created.
1511
1512         Test: http/tests/notifications/events-in-dictionary.html
1513
1514         * Modules/notifications/Notification.cpp:
1515         (WebCore::Notification::create): Do not look for the event handlers in the options dictionary.
1516
1517 2012-09-10  Tony Chang  <tony@chromium.org>
1518
1519         Rename computeLogicalWidth to updateLogicalWidth
1520         https://bugs.webkit.org/show_bug.cgi?id=96288
1521
1522         Reviewed by Ojan Vafai.
1523
1524         Also rename recomputeLogicalWidth to updateLogicalWidthAndColumnWidth.
1525         Also rename RenderTableCell::updateLogicalWidth to RenderTableCell::setCellLogicalWidth.
1526
1527         No new tests, this is just a refactor.
1528
1529         * rendering/RenderBlock.cpp:
1530         (WebCore::RenderBlock::updateLogicalWidthAndColumnWidth):
1531         (WebCore::RenderBlock::layoutBlock):
1532         (WebCore::RenderBlock::layoutPositionedObjects):
1533         (WebCore::RenderBlock::insertFloatingObject):
1534         (WebCore::RenderBlock::getClearDelta):
1535         * rendering/RenderBlock.h:
1536         * rendering/RenderBox.cpp:
1537         (WebCore::RenderBox::updateLogicalWidth):
1538         * rendering/RenderBox.h:
1539         (RenderBox):
1540         (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
1541         * rendering/RenderDeprecatedFlexibleBox.cpp:
1542         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
1543         * rendering/RenderEmbeddedObject.cpp:
1544         (WebCore::RenderEmbeddedObject::layout):
1545         * rendering/RenderFlexibleBox.cpp:
1546         (WebCore::RenderFlexibleBox::layoutBlock):
1547         * rendering/RenderFlowThread.cpp:
1548         (WebCore::RenderFlowThread::layout):
1549         (WebCore::RenderFlowThread::updateLogicalWidth):
1550         * rendering/RenderFlowThread.h:
1551         * rendering/RenderGrid.cpp:
1552         (WebCore::RenderGrid::layoutBlock):
1553         * rendering/RenderHTMLCanvas.cpp:
1554         (WebCore::RenderHTMLCanvas::canvasSizeChanged):
1555         * rendering/RenderIFrame.cpp:
1556         (WebCore::RenderIFrame::updateLogicalWidth):
1557         (WebCore::RenderIFrame::layoutSeamlessly):
1558         (WebCore::RenderIFrame::layout):
1559         * rendering/RenderIFrame.h:
1560         (RenderIFrame):
1561         * rendering/RenderImage.cpp:
1562         (WebCore::RenderImage::imageDimensionsChanged):
1563         * rendering/RenderMeter.cpp:
1564         (WebCore::RenderMeter::updateLogicalWidth):
1565         * rendering/RenderMeter.h:
1566         (RenderMeter):
1567         * rendering/RenderMultiColumnBlock.cpp:
1568         (WebCore::RenderMultiColumnBlock::updateLogicalWidthAndColumnWidth):
1569         * rendering/RenderMultiColumnBlock.h:
1570         (RenderMultiColumnBlock):
1571         * rendering/RenderMultiColumnSet.cpp:
1572         (WebCore::RenderMultiColumnSet::updateLogicalWidth):
1573         * rendering/RenderMultiColumnSet.h:
1574         (RenderMultiColumnSet):
1575         * rendering/RenderReplaced.cpp:
1576         (WebCore::RenderReplaced::layout):
1577         * rendering/RenderTable.cpp:
1578         (WebCore::RenderTable::updateLogicalWidth):
1579         (WebCore::RenderTable::layout):
1580         * rendering/RenderTable.h:
1581         (RenderTable):
1582         * rendering/RenderTableCell.cpp:
1583         (WebCore::RenderTableCell::updateLogicalWidth):
1584         (WebCore::RenderTableCell::setCellLogicalWidth):
1585         * rendering/RenderTableCell.h:
1586         (RenderTableCell):
1587         * rendering/RenderTableSection.cpp:
1588         (WebCore::RenderTableSection::setCellLogicalWidths):
1589         * rendering/RenderView.cpp:
1590         (WebCore::RenderView::updateLogicalWidth):
1591         * rendering/RenderView.h:
1592         * rendering/svg/RenderSVGForeignObject.cpp:
1593         (WebCore::RenderSVGForeignObject::updateLogicalWidth):
1594         * rendering/svg/RenderSVGForeignObject.h:
1595         (RenderSVGForeignObject):
1596         * rendering/svg/RenderSVGRoot.cpp:
1597         (WebCore::RenderSVGRoot::layout):
1598
1599 2012-09-10  Andreas Kling  <kling@webkit.org>
1600
1601         ElementAttributeData: Use subclasses to manage varying object layouts.
1602         <http://webkit.org/b/94465>
1603
1604         Reviewed by Antti Koivisto.
1605
1606         Add two ElementAttributeData subclasses:
1607
1608             - MutableElementAttributeData
1609             - ImmutableElementAttributeData
1610
1611         The ElementAttributeData::m_isMutable bit determines which subclass to cast to when accessing
1612         the attribute storage. Added mutableAttributeVector() and immutableAttributeArray() helpers
1613         to ElementAttributeData (with appropriate assertions.)
1614
1615         This patch removes one step of indirection in the mutable case, since the Vector<Attribute> is no
1616         longer heap-allocated, but part of MutableElementAttributeData.
1617
1618         Added a WTF::deleteOwnedPtr(ElementAttributeData*) specialization so that the appropriate subclass
1619         destructor is called for these objects.
1620
1621         * WebCore.exp.in:
1622         * dom/Element.cpp:
1623         (WebCore::Element::createMutableAttributeData):
1624         * dom/ElementAttributeData.cpp:
1625         (WebCore::ElementAttributeData::createImmutable):
1626         (WebCore::ElementAttributeData::create):
1627         (WebCore::ElementAttributeData::ElementAttributeData):
1628         (WebCore::MutableElementAttributeData::MutableElementAttributeData):
1629         (WebCore::ImmutableElementAttributeData::ImmutableElementAttributeData):
1630         (WebCore::ImmutableElementAttributeData::~ImmutableElementAttributeData):
1631         (WebCore::ElementAttributeData::makeMutableCopy):
1632         (WebCore::ElementAttributeData::addAttribute):
1633         (WebCore::ElementAttributeData::removeAttribute):
1634         (WebCore::ElementAttributeData::reportMemoryUsage):
1635         (WebCore::ElementAttributeData::cloneDataFrom):
1636         (WebCore::ElementAttributeData::clearAttributes):
1637         * dom/ElementAttributeData.h:
1638         (ElementAttributeData):
1639         (WebCore::ElementAttributeData::isMutable):
1640         (ImmutableElementAttributeData):
1641         (MutableElementAttributeData):
1642         (WebCore::MutableElementAttributeData::MutableElementAttributeData):
1643         (WebCore::ElementAttributeData::immutableAttributeArray):
1644         (WebCore::ElementAttributeData::mutableAttributeVector):
1645         (WebCore::ElementAttributeData::length):
1646         (WebCore::ElementAttributeData::attributeItem):
1647
1648 2012-09-10  Tony Chang  <tony@chromium.org>
1649
1650         Remove stray spaces found after :: in case statements
1651         https://bugs.webkit.org/show_bug.cgi?id=96314
1652
1653         Reviewed by Ojan Vafai.
1654
1655         New contributors keep copy/pasting this style error and it makes me sad.
1656         Also remove the extra spaces in MediaQueryEvaluator.cpp.
1657
1658         No new tests, this is just a style refactor.
1659
1660         * css/CSSPrimitiveValue.cpp:
1661         (WebCore::isValidCSSUnitTypeForDoubleConversion):
1662         (WebCore::unitCategory):
1663         * css/MediaQueryEvaluator.cpp:
1664         (WebCore::MediaQueryEvaluator::MediaQueryEvaluator):
1665
1666 2012-09-10  Adam Barth  <abarth@webkit.org>
1667
1668         [V8] setNamedHiddenWindowReference doesn't need to be a special case
1669         https://bugs.webkit.org/show_bug.cgi?id=96198
1670
1671         Reviewed by Nate Chapin.
1672
1673         Prior to this patch, the DOMWindow cached its properties on the outter
1674         global object rather than on the Holder of the properties. (We cache
1675         properties to prevent their DOM wrappers from being garbage collected
1676         too early.) There doesn't seem to be any reason why DOMWindow need to
1677         be special-cased in this regard. We can just cache the properities on
1678         their Holders, as usual.
1679
1680         * bindings/scripts/CodeGeneratorV8.pm:
1681         (GenerateNormalAttrGetter):
1682         * bindings/v8/V8DOMWrapper.cpp:
1683         * bindings/v8/V8DOMWrapper.h:
1684         (V8DOMWrapper):
1685         * bindings/v8/custom/V8LocationCustom.cpp:
1686         * page/Location.idl:
1687             - Previously, Location had a custom toV8 function so that
1688               document.location would cache its wrapper in the same place as
1689               window.location. However, that's no longer necessary as the
1690               DOMWindow now holds its Document in a hidden property, which
1691               means the DOMWindow keeps the cached location property on
1692               Document alive anyway.
1693
1694 2012-09-10  Anders Carlsson  <andersca@apple.com>
1695
1696         Silence a warning when running update-webkit-localizable-strings
1697         https://bugs.webkit.org/show_bug.cgi?id=96307
1698
1699         Reviewed by John Sullivan.
1700
1701         Since both the blockedPluginByContentSecurityPolicyText and insecurePluginVersionText strings use exact the same wording,
1702         use WEB_UI_STRING_KEY to indicate that they are different.
1703
1704         * English.lproj/Localizable.strings:
1705         Update the localizable strings file.
1706
1707         * platform/LocalizedStrings.cpp:
1708         (WebCore::blockedPluginByContentSecurityPolicyText):
1709         (WebCore::insecurePluginVersionText):
1710
1711 2012-09-10  Adam Barth  <abarth@chromium.org>
1712
1713         [V8] V8HTMLDocument::write and friends should not indirect through Frame
1714         https://bugs.webkit.org/show_bug.cgi?id=96289
1715
1716         Reviewed by Eric Seidel.
1717
1718         There is no reason why document.write and friends need to indirect
1719         through the Frame to find the active document. This patch makes these
1720         functions work the same as the JSC versions.
1721
1722         * bindings/v8/BindingState.cpp:
1723         * bindings/v8/BindingState.h:
1724             - This patch removes the last callers of activeFrame, so we can
1725               remove the function entirely.
1726         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1727         (WebCore::V8HTMLDocument::writeCallback):
1728         (WebCore::V8HTMLDocument::writelnCallback):
1729         (WebCore::V8HTMLDocument::openCallback):
1730
1731 2012-09-10  Adam Barth  <abarth@chromium.org>
1732
1733         [V8] Constructors try to handle errors that cannot occur
1734         https://bugs.webkit.org/show_bug.cgi?id=96304
1735
1736         Reviewed by Kentaro Hara.
1737
1738         There's no reason for constructors to indirect through the Frame. Now
1739         that we can reliably get the Document from the v8::Context, we can just
1740         grab it without worrying about handling error conditions related to not
1741         being able to find the Document.
1742
1743         * bindings/scripts/CodeGeneratorV8.pm:
1744         (GenerateNamedConstructorCallback):
1745         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1746         (WebCore::V8TestNamedConstructorConstructorCallback):
1747         * bindings/v8/custom/V8AudioContextCustom.cpp:
1748         (WebCore::V8AudioContext::constructorCallback):
1749         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1750         (WebCore::v8HTMLImageElementConstructorCallback):
1751
1752 2012-09-10  Andrey Kosyakov  <caseq@chromium.org>
1753
1754         Web Inspector: highlight of paint rectangles is broken
1755         https://bugs.webkit.org/show_bug.cgi?id=96276
1756
1757         Reviewed by Vsevolod Vlasov.
1758
1759         * inspector/InspectorOverlay.cpp:
1760         (WebCore::InspectorOverlay::drawRectHighlight): Fix JS method name to match the one in InspectorOverlayPage.html
1761
1762 2012-09-10  Catalin Badea  <badea@adobe.com>
1763
1764         webkit build for 64-bit Mac chromium
1765         https://bugs.webkit.org/show_bug.cgi?id=95977
1766
1767         Reviewed by Eric Seidel.
1768
1769         Use the correct definitions for NS types in order to fix build issues for 64-bit chromium on mac.
1770
1771         * platform/chromium/PlatformSupport.h:
1772         Remove a deprecated Carbon typedef.
1773         * platform/graphics/FloatPoint.h:
1774         (FloatPoint):
1775         * platform/graphics/FloatRect.h:
1776         (FloatRect):
1777         * platform/graphics/FloatSize.h:
1778         (FloatSize):
1779         * platform/graphics/IntRect.h:
1780         (IntRect):
1781
1782 2012-09-10  Hans Muller  <hmuller@adobe.com>
1783
1784         [CSS Exlusions] add support for the basic shapes
1785         https://bugs.webkit.org/show_bug.cgi?id=95490
1786
1787         Reviewed by David Hyatt.
1788
1789         Initial commit of a subset of the ExclusionShape classes.
1790
1791         This set of classes enables the exclusions layout code to determine how to break up a line into segments
1792         that will fit within or around a shape, given the Y coordinates of the line's top edge and bottom edges.
1793         The ExclusionShape class represents BasicShapes whose coordinates have been resolved to actual values. It
1794         provides a pair of methods, getInsideIntervals() and getOutsideIntervals(), that return the line segments'
1795         start and end X coordinates, and a method that computes the shape's bounding box. The line segments'
1796         coordinates are represented by a Vector of ExclusionIntervals. ExclusionInterval is just a pair
1797         of X coordinates.
1798
1799         The other classes, ExclusionRectangle (and TBD ExclusionPolygon et al), are internal to the
1800         ExclusionShape implementation.
1801
1802         This is the initial version of the ExclusionShapes code and it's only being used to the limited extent WebKit
1803         currently supports shape-inside exclusions. It will be extended to support computing a minimal
1804         line segment's "first layout location" and other improvements, in tandem with the exclusions layout code.
1805
1806         No new tests have been added since this code just replaces a provisional implementation stub.
1807
1808         More information about the algorithms used by the ExclusionShapes classes can be found here: http://hansmuller-webkit.blogspot.com.
1809
1810         * CMakeLists.txt:
1811         * GNUmakefile.list.am:
1812         * Target.pri:
1813         * WebCore.gypi:
1814         * WebCore.vcproj/WebCore.vcproj:
1815         * WebCore.xcodeproj/project.pbxproj:
1816         * rendering/ExclusionInterval.cpp: Added.
1817         (WebCore):
1818         (WebCore::IntervalX1Comparator::operator()):
1819         Compare x1 ExclusionInterval fields.
1820         (WebCore::ExclusionInterval::intersect):
1821         Compute the intersection of this interval with another interval. Unlike merge/subtract,
1822         the result is always a single interval.
1823         (WebCore::sortExclusionIntervals):
1824         Sort a vector of intervals by their x1 (start) field.
1825         (WebCore::mergeExclusionIntervals):
1826         Union of two vectors of intervals.
1827         (WebCore::intersectExclusionIntervals):
1828         Intersecion of two vectors of intervals.
1829         (WebCore::subtractExclusionIntervals):
1830         Difference of two vectors of intervals.
1831
1832         * rendering/ExclusionInterval.h: Added.
1833         Represents the actual start and end coordinates of a horizontal line segment.
1834         (WebCore):
1835         (ExclusionInterval):
1836         (WebCore::ExclusionInterval::ExclusionInterval):
1837
1838         * rendering/ExclusionRectangle.cpp: Added.
1839         (WebCore):
1840         (WebCore::ellipseXIntercept):
1841         (WebCore::ExclusionRectangle::getOutsideIntervals):
1842         (WebCore::ExclusionRectangle::getInsideIntervals):
1843
1844         * rendering/ExclusionRectangle.h: Added.
1845         A subclass of ExclusionShape used to represent rounded rectangles, circles, and ellipses.
1846         (WebCore):
1847         (ExclusionRectangle)
1848         (WebCore::ExclusionRectangle::ExclusionRectangle):
1849         (WebCore::ExclusionRectangle::shapeBoundingBox):
1850
1851         * rendering/ExclusionShape.cpp: Added.
1852         (WebCore):
1853         (WebCore::createExclusionRectangle):
1854         (WebCore::createExclusionCircle):
1855         (WebCore::createExclusionEllipse):
1856         (WebCore::Exclusionhape::createExclusionShape):
1857         Creates an ExclusionShape given a BasicShape and the width/height of a border box.  Currently rounded
1858         rectangles, circles, and ellipses are supported.  Support for polygons will be included in the
1859         next patch.
1860
1861         * rendering/ExclusionShape.h: Added.
1862         The rest of the exclusions implementation will only depend on the definitions included by this file: ExclusionShape,
1863         and ExclusionInterval. ExclusionShape subclasses define shape-specific implementations of the methods that compute the
1864         horizontal intervals that fit within or around a specific shape, a shape's bounding box, and - in future
1865         revisions - other operations required by the exclusions implementation, like computing the first possible
1866         layout location within a shape. ExclusionShapes are created for BasicShape objects as needed, using the
1867         createExclusionShape() method.
1868         (WebCore):
1869         (ExclusionShape):
1870         (WebCore::ExclusionShape::~ExclusionShape):
1871
1872         * rendering/WrapShapeInfo.cpp:
1873         (WebCore::WrapShapeInfo::computeShapeSize):
1874         Create an ExclusionShape for the RenderBlock's BasicShape.
1875         (WebCore::WrapShapeInfo::computeSegmentsForLine):
1876         Use ExclusionShape::getInsideIntervals() to compute the shape-inside intervals within which a line will fit.
1877
1878         * rendering/WrapShapeInfo.h:
1879         (WebCore::WrapShapeInfo::shapeTop):
1880         Removed - no longer used.
1881         (WrapShapeInfo):
1882         (WebCore::WrapShapeInfo::lineState):
1883         Use the ExclusionShape's bounding box to compute lineState.
1884
1885 2012-09-07  Jer Noble  <jer.noble@apple.com>
1886
1887         <audio> and <video> should send Do Not Track when appropriate
1888         https://bugs.webkit.org/show_bug.cgi?id=96134
1889
1890         Reviewed by Eric Carlson.
1891
1892         Add a FrameLoaderClient function to determine whether the DNT header should be sent,
1893         and plumb that new function down into the MediaPlayerPrivateAVFoundationObjC class.
1894
1895         Test: http/tests/media/video-donottrack.html
1896
1897         * html/HTMLMediaElement.cpp:
1898         (WebCore::HTMLMediaElement::mediaPlayerShouldSendDoNotTrackHTTPHeader):
1899             Pass the question on through to the FrameLoaderClient.
1900         * html/HTMLMediaElement.h:
1901         * loader/FrameLoaderClient.h:
1902         (WebCore::FrameLoaderClient::shouldSendDoNotTrackHTTPHeader):
1903             Call through to the implementation in WebKit or WebKit2.
1904         * platform/graphics/MediaPlayer.h:
1905         (WebCore::MediaPlayerClient::mediaPlayerShouldSendDoNotTrackHTTPHeader):
1906             Pass the question on to the HTMLMediaElement.
1907         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1908         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
1909             If we should send the DNT header, add it to the header options array
1910             when creating the AVAsset.
1911
1912 2012-08-31  Jon Lee  <jonlee@apple.com>
1913
1914         The options dictionary in Notification constructor should not accept event listeners
1915         https://bugs.webkit.org/show_bug.cgi?id=95538
1916         <rdar://problem/12213901>
1917
1918         Reviewed by Alexey Proskuryakov.
1919
1920         The latest spec only allows setting the event listeners after the notification has been created.
1921
1922         Test: http/tests/notifications/events-in-dictionary.html
1923
1924         * Modules/notifications/Notification.cpp:
1925         (WebCore::Notification::create): Do not look for the event handlers in the options dictionary.
1926
1927 2012-09-04  Robert Hogan  <robert@webkit.org>
1928
1929         CSS 2.1 failure: content-counter-010.htm fails
1930         https://bugs.webkit.org/show_bug.cgi?id=81447
1931
1932         Reviewed by Alexey Proskuryakov.
1933
1934         Test: fast/css/content-counter-010.htm
1935
1936         Per http://lists.w3.org/Archives/Public/public-css-testsuite/2010Nov/0064.html, the correct rendering of 
1937         7000 to 7999 in Armenian changed in Nov 2010. Update implementation to match the revised spec.
1938        
1939         * rendering/RenderListMarker.cpp:
1940         (WebCore::toArmenianUnder10000):
1941
1942 2012-09-10  Thiago Marcos P. Santos  <thiago.santos@intel.com>
1943
1944         Font value should be parsed as a individual property
1945         https://bugs.webkit.org/show_bug.cgi?id=96271
1946
1947         Reviewed by Eric Seidel.
1948
1949         Parsing the font value as an individual CSS property instead of a style
1950         body should make it significantly more effective and will not
1951         validate something like ctx.font = "25px serif; background: green".
1952
1953         Updated canvas/philip/tests/2d.text.font.parse.invalid.html to cover
1954         this use case.
1955
1956         * html/canvas/CanvasRenderingContext2D.cpp:
1957         (WebCore::CanvasRenderingContext2D::setFont):
1958
1959 2012-09-10  Silvia Pfeiffer  <silviapf@chromium.org>
1960
1961         [Chromium] Handle smaller sizes of media elements in media controls.
1962         https://bugs.webkit.org/show_bug.cgi?id=89344
1963
1964         Reviewed by Eric Carlson.
1965
1966         The redesign of the Chrome video controls calls for successive removal of individual
1967         elements in the Chrome video and audio controls as the element becomes smaller in width.
1968         It also requires decreasing padding on the enclosure element of videos.
1969
1970         This patch introduces a layout() function into the MediaControlRootElementChromium to
1971         react to any changes of the media controls width and appropriately hide/show the
1972         interactive elements and apply the correct padding on video elements.
1973
1974         Tests: platform/chromium/media/controls-audio-sizes.html
1975                platform/chromium/media/controls-video-sizes-padding.html
1976                platform/chromium/media/controls-video-sizes.html
1977
1978         * html/shadow/MediaControlRootElementChromium.cpp:
1979         (WebCore):
1980         (RenderMediaControlPanelEnclosureElement):
1981         Introduce a renderer for the MediaControlPanelEnclosureElement in which to deal with the layout changes.
1982         Following the pattern in MediaControlElements.cpp .
1983         (WebCore::RenderMediaControlPanelEnclosureElement::RenderMediaControlPanelEnclosureElement):
1984         Definition of the new RenderMediaControlPanelEnclosureElement class.
1985         (WebCore::RenderMediaControlPanelEnclosureElement::layout):
1986         Definition of the layout() function for the renderer. This does most of the actual work.
1987         (WebCore::MediaControlPanelEnclosureElement::createRenderer):
1988         Create the renderer for the MediaControlPanelEnclosureElement.
1989         (WebCore::MediaControlPanelEnclosureElement::updatePadding):
1990         Update padding as part of the MediaControlPanelEnclosureElement functions.
1991         (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
1992         Add a class property to store whether the duration and current time display are hidden.
1993         (WebCore::MediaControlRootElementChromium::reset):
1994         Include the hiding/showing of the timeline into the updateTimeDisplay() function to reduce code duplication.
1995         (WebCore::MediaControlRootElementChromium::playbackStarted):
1996         Include the hiding/showing of the timeline and time display into the updateTimeDisplay() function
1997         to reduce code duplication.
1998         (WebCore::MediaControlRootElementChromium::playbackProgressed):
1999         Include the hiding/showing of the timeline into the updateTimeDisplay() function to reduce code duplication.
2000         (WebCore::MediaControlRootElementChromium::playbackStopped):
2001         Include the hiding/showing of the timeline into the updateTimeDisplay() function to reduce code duplication.
2002         (WebCore::MediaControlRootElementChromium::updateTimeDisplay):
2003         Only show time display if not hidden. Add timeline update here to reduce code duplication/
2004         (WebCore::MediaControlRootElementChromium::hideVolumeSlider):
2005         New function to allow layout() function to hide the volume slider.
2006         (WebCore::MediaControlRootElementChromium::showTimeDisplay):
2007         New function to allow layout() function to show the time display.
2008         (WebCore::MediaControlRootElementChromium::hideTimeDisplay):
2009         New function to allow layout() function to hide the time display.
2010         (WebCore::MediaControlRootElementChromium::showMuteButton):
2011         New function to allow layout() function to show the mute button.
2012         (WebCore::MediaControlRootElementChromium::hideMuteButton):
2013         New function to allow layout() function to hide the mute button.
2014         (WebCore::MediaControlRootElementChromium::showFullscreenButton):
2015         New function to allow layout() function to show the fullscreen button.
2016         (WebCore::MediaControlRootElementChromium::hideFullscreenButton):
2017         New function to allow layout() function to hide the fullscreen button.
2018         (WebCore::MediaControlRootElementChromium::showTimeline):
2019         New function to allow layout() function to show the timeline.
2020         (WebCore::MediaControlRootElementChromium::hideTimeline):
2021         New function to allow layout() function to hide the timeline.
2022
2023         * html/shadow/MediaControlRootElementChromium.h:
2024         (MediaControlPanelEnclosureElement):
2025         Add a createRender() and a updatePadding() function to the MediaControlPanelEnclosureElement class.
2026         (MediaControlRootElementChromium):
2027         Add hide/show functions for volume slider, time display, mute button, fullscreen button and timeline.
2028         Add a class property to store whether the duration and current time display are hidden.
2029
2030 2012-09-10  Joanmarie Diggs  <jdiggs@igalia.com>
2031
2032         [GTK][a11y] editing/pasteboard/paste-blockquote-into-blockquote-4.html crashes
2033         https://bugs.webkit.org/show_bug.cgi?id=96199
2034
2035         Reviewed by Martin Robinson.
2036
2037         Added sanity check to correct erroneous assumption that there will
2038         always be a child object.
2039
2040         No new tests as the bug crashes two existing Layout Tests which should
2041         no longer crash as a result of this fix.
2042
2043         * accessibility/gtk/AccessibilityObjectAtk.cpp:
2044         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
2045
2046 2012-09-10  Mike West  <mkwst@chromium.org>
2047
2048         Clarify the cause of console warnings generated by "cross-origin" access to sandboxed iframes.
2049         https://bugs.webkit.org/show_bug.cgi?id=64079
2050
2051         Reviewed by Adam Barth.
2052
2053         The error message generated when accessing cross-origin content is a bit
2054         too generic at the moment, which is misleading when the "cross-origin"
2055         nature of an access attempt isn't visible in the URLs that the error
2056         displays. Sandboxed iframes, for example, are put into unique origins by
2057         default, meaning that all access in or out are subject to cross-origin
2058         restrictions, even if the resources would otherwise be same-origin.
2059
2060         This patch improces the error message to explicitly point to sandboxing
2061         as the core of cross-origin requests when relevant. It adds a single new
2062         test to check access from parents to children, and relies on existing
2063         tests for access in the other direction.
2064
2065         Test: http/tests/security/sandboxed-iframe-blocks-access-from-parent.html
2066
2067         * page/DOMWindow.cpp:
2068         (WebCore::DOMWindow::crossDomainAccessErrorMessage):
2069             Check 'isSandboxed(SandboxOrigin)' against the document and
2070             activeWindow when generating the error message. If one or the other
2071             is sandboxed, make that clear in the console warning.
2072
2073 2012-09-10  Tommy Widenflycht  <tommyw@google.com>
2074
2075         [chromium] MediaStream API: Remove the Descriptor postfix
2076         https://bugs.webkit.org/show_bug.cgi?id=96268
2077
2078         Reviewed by Adam Barth.
2079
2080         After consideration I realized that there is no need whatsoever in using the Descriptor prefix
2081         in the WekKit embedder API. Removed from WebRTCSessionDescription and WebRTCICECandidate to start with.
2082
2083         No code changes that affects functionality.
2084
2085         * WebCore.gypi:
2086         * platform/chromium/support/WebRTCICECandidate.cpp: Renamed from Source/WebCore/platform/chromium/support/WebRTCICECandidateDescriptor.cpp.
2087         (WebKit):
2088         (WebKit::WebRTCICECandidate::WebRTCICECandidate):
2089         (WebKit::WebRTCICECandidate::assign):
2090         (WebKit::WebRTCICECandidate::reset):
2091         (WebKit::WebRTCICECandidate::initialize):
2092         (WebKit::WebRTCICECandidate::operator PassRefPtr<WebCore::RTCIceCandidateDescriptor>):
2093         (WebKit::WebRTCICECandidate::candidate):
2094         (WebKit::WebRTCICECandidate::sdpMid):
2095         (WebKit::WebRTCICECandidate::sdpMLineIndex):
2096         * platform/chromium/support/WebRTCSessionDescription.cpp: Renamed from Source/WebCore/platform/chromium/support/WebRTCSessionDescriptionDescriptor.cpp.
2097         (WebKit):
2098         (WebKit::WebRTCSessionDescription::WebRTCSessionDescription):
2099         (WebKit::WebRTCSessionDescription::assign):
2100         (WebKit::WebRTCSessionDescription::reset):
2101         (WebKit::WebRTCSessionDescription::operator WTF::PassRefPtr<WebCore::RTCSessionDescriptionDescriptor>):
2102         (WebKit::WebRTCSessionDescription::initialize):
2103         (WebKit::WebRTCSessionDescription::type):
2104         (WebKit::WebRTCSessionDescription::setType):
2105         (WebKit::WebRTCSessionDescription::sdp):
2106         (WebKit::WebRTCSessionDescription::setSDP):
2107         * platform/chromium/support/WebRTCSessionDescriptionRequest.cpp:
2108         (WebKit::WebRTCSessionDescriptionRequest::requestSucceeded):
2109         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
2110         (WebCore::RTCPeerConnectionHandlerChromium::didGenerateICECandidate):
2111         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
2112         (WebKit):
2113         (RTCPeerConnectionHandlerChromium):
2114
2115 2012-09-10  Pavel Podivilov  <podivilov@chromium.org>
2116
2117         Web Inspector: support empty entries in source maps.
2118         https://bugs.webkit.org/show_bug.cgi?id=96088
2119
2120         Reviewed by Vsevolod Vlasov.
2121
2122         Empty entries should be mapped to the compiled script.
2123
2124         * inspector/front-end/CompilerScriptMapping.js:
2125         (WebInspector.CompilerScriptMapping):
2126         (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
2127         (WebInspector.CompilerScriptMapping.prototype._reset):
2128         (WebInspector.SourceMapParser.prototype._parseMap):
2129
2130 2012-09-07  Andrey Kosyakov  <caseq@chromium.org>
2131
2132         Web Inspector: only display heap size statistics for timeline records when it makes sense
2133         https://bugs.webkit.org/show_bug.cgi?id=96119
2134
2135         Reviewed by Yury Semikhatsky.
2136
2137         - drop totalHeapSize from timeline records;
2138         - add usedHeapSizeDelta (not set if 0), for heap delta between start and end of the event;
2139         - only display memory details for events of scriping category or when delta is not 0;
2140
2141         * English.lproj/localizedStrings.js:
2142         * inspector/InspectorTimelineAgent.cpp:
2143         (WebCore::getUsedHeapSize):
2144         (WebCore):
2145         (WebCore::InspectorTimelineAgent::setHeapSizeStatistics):
2146         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
2147         (WebCore::InspectorTimelineAgent::pushCurrentRecord):
2148         * inspector/InspectorTimelineAgent.h:
2149         (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
2150         (TimelineRecordEntry):
2151         * inspector/front-end/TimelinePresentationModel.js:
2152         (WebInspector.TimelinePresentationModel.Record.prototype.get usedHeapSizeDelta):
2153         (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):
2154
2155 2012-09-10  Simon Hausmann  <simon.hausmann@nokia.com>
2156
2157         [Qt] Drastically shorten length of commandline needed for JS bindings generator
2158         https://bugs.webkit.org/show_bug.cgi?id=96266
2159
2160         Reviewed by Kenneth Rohde Christiansen.
2161
2162         The generate-bindings script supports the SOURCE_ROOT environment variable for IDL include file
2163         lookups, which allows specifying relative include search directories.
2164
2165         * DerivedSources.pri:
2166
2167 2012-09-10  Kevin Funk  <kevin.funk@kdab.com>
2168
2169         [Qt] Fix deprecation failures if QT_NO_DEPRECATED enabled
2170         https://bugs.webkit.org/show_bug.cgi?id=96258
2171
2172         Reviewed by Simon Hausmann.
2173
2174         Sync with latest changes in Qt5.
2175
2176         * platform/qt/RenderThemeQt.cpp:
2177         * platform/qt/SharedTimerQt.cpp:
2178
2179 2012-09-10  Christophe Dumez  <christophe.dumez@intel.com>
2180
2181         [EFL] Create a toggle button for closed captions
2182         https://bugs.webkit.org/show_bug.cgi?id=96259
2183
2184         Reviewed by Kenneth Rohde Christiansen.
2185
2186         Add toggle button for closed captions to EFL's
2187         RenderTheme.
2188
2189         Test: media/video-controls-captions.html
2190
2191         * platform/efl/RenderThemeEfl.cpp:
2192         (WebCore::RenderThemeEfl::edjeGroupFromFormType):
2193         (WebCore::RenderThemeEfl::emitMediaButtonSignal):
2194         (WebCore):
2195         (WebCore::RenderThemeEfl::supportsClosedCaptioning):
2196         (WebCore::RenderThemeEfl::paintMediaToggleClosedCaptionsButton):
2197         * platform/efl/RenderThemeEfl.h:
2198         (RenderThemeEfl):
2199
2200 2012-09-10  Simon Hausmann  <simon.hausmann@nokia.com>
2201
2202         [TexMap] Fix compilation on Windows
2203         https://bugs.webkit.org/show_bug.cgi?id=96257
2204
2205         Reviewed by Noam Rosenthal.
2206
2207         TextureMapperGL uses near and far as variable names and unfortunately
2208         WinDefs.h on Windows has the nasty habit of unconditionally(!) defining
2209         near and far as empty macros. There's no way to prevent WinDefs.h from
2210         doing so. Instead we rename the variables. (Another option would've been to
2211         #undef)
2212
2213         * platform/graphics/texmap/TextureMapperGL.cpp:
2214
2215 2012-09-10  Alexander Pavlov  <apavlov@chromium.org>
2216
2217         Web Inspector: [Elements] Poor performance upon continuous attribute changes
2218         https://bugs.webkit.org/show_bug.cgi?id=96252
2219
2220         Reviewed by Vsevolod Vlasov.
2221
2222         The DOM tree is now updated after a non-zero timeout, and same node updates are coalesced rather than added into an array
2223         as many times as the DOM node has been tampered with during the update interval.
2224
2225         * inspector/front-end/ElementsTreeOutline.js:
2226         * inspector/front-end/utilities.js: Implement Map.prototype.size
2227
2228 2012-09-10  Mike West  <mkwst@chromium.org>
2229
2230         Warn authors about CSP directives ignored due to non-ASCII values.
2231         https://bugs.webkit.org/show_bug.cgi?id=96061
2232
2233         Reviewed by Adam Barth.
2234
2235         CSP defines directive values as VCHAR minus ';' and ','. Currently, we
2236         ignore these directives completely in CSPDirectiveList::parseDirective,
2237         but we don't warn authors. We ought to set their expectations correctly,
2238         and help them fix issues in their policy.
2239
2240         This patch adds a console warning for directives that are ignored, and
2241         points authors to the wonderful world of percent-encoding for situations
2242         where high-ASCII or Unicode (or whatever) characters are required.
2243
2244         Test: http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii.html
2245
2246         * page/ContentSecurityPolicy.cpp:
2247         (WebCore::CSPDirectiveList::parseDirective):
2248             Call ContentSecurityPolicy::reportInvalidDirectiveValueCharacter in
2249             order to report ignored directives.
2250         (WebCore::ContentSecurityPolicy::reportInvalidDirectiveValueCharacter):
2251         (WebCore):
2252         * page/ContentSecurityPolicy.h:
2253             Add new error message.
2254
2255 2012-09-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2256
2257         Unreviewed. Fix make distcheck.
2258
2259         * GNUmakefile.list.am: Add missing header files.
2260
2261 2012-09-10  Simon Hausmann  <simon.hausmann@nokia.com>
2262
2263         [Qt] Fix linking of QtWebKit.dll on Windows
2264         https://bugs.webkit.org/show_bug.cgi?id=96250
2265
2266         Reviewed by Kenneth Rohde Christiansen.
2267
2268         On Windows when using ANGLE, the DLL import library of EGL is called libEGL.lib instead of EGL.lib.
2269         However as it turns out we do not need to explicitly link against EGL, because when Qt is configured with ANGLE
2270         support it will do that automatically for us.
2271
2272         * WebCore.pri:
2273
2274 2012-09-10  Christophe Dumez  <christophe.dumez@intel.com>
2275
2276         [EFL] fast/forms/menulist-restrict-line-height.html is failing
2277         https://bugs.webkit.org/show_bug.cgi?id=94878
2278
2279         Reviewed by Kenneth Rohde Christiansen.
2280
2281         <select> element's text is no longer clipped when a CSS
2282         line-height is specified. The fix is the same as for
2283         Mac port in r24886.
2284
2285         Test: fast/forms/menulist-restrict-line-height.html
2286
2287         * platform/efl/RenderThemeEfl.cpp:
2288         (WebCore::RenderThemeEfl::adjustMenuListStyle):
2289
2290 2012-09-10  Kevin Funk  <kevin.funk@kdab.com>
2291
2292         Replace calls to QString::fromAscii which is deprecated in Qt5
2293         https://bugs.webkit.org/show_bug.cgi?id=96242
2294
2295         Reviewed by Simon Hausmann.
2296
2297         Replace with QString::fromLatin1 which does the same.
2298
2299         * bridge/qt/qt_runtime.cpp:
2300
2301 2012-09-09  Taiju Tsuiki  <tzik@chromium.org>
2302
2303         successCallback of ResolveLocalFileSystemURL should not be optional.
2304         https://bugs.webkit.org/show_bug.cgi?id=94802
2305
2306         Reviewed by Kent Tamura.
2307
2308         Spec says it should not optional.
2309         http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURL-void-DOMString-url-EntryCallback-successCallback-ErrorCallback-errorCallback
2310
2311         Tests: fast/filesystem/entry-points-missing-arguments.html
2312
2313         * Modules/filesystem/DOMWindowFileSystem.idl:
2314         * Modules/filesystem/WorkerContextFileSystem.idl:
2315
2316 2012-09-09  Patrick Gansterer  <paroga@webkit.org>
2317
2318         Add StringBuilder::appendNumber() and use it
2319         https://bugs.webkit.org/show_bug.cgi?id=96030
2320
2321         Reviewed by Eric Seidel.
2322
2323         Also fix a bunch of append() vs. appendLiteral() issues in the surrounding code.
2324
2325         * Modules/websockets/WebSocketHandshake.cpp:
2326         (WebCore::hostName):
2327         * bindings/v8/ScriptController.cpp:
2328         (WebCore::resourceString):
2329         * css/FontFeatureValue.cpp:
2330         (WebCore::FontFeatureValue::customCssText):
2331         * dom/Position.cpp:
2332         (WebCore::Position::formatForDebugger):
2333         * dom/Range.cpp:
2334         (WebCore::Range::formatForDebugger):
2335         * html/FormController.cpp:
2336         (WebCore::FormKeyGenerator::formKey):
2337         * html/HTMLAnchorElement.cpp:
2338         (WebCore::appendServerMapMousePosition):
2339         * html/canvas/CanvasRenderingContext2D.cpp:
2340         (WebCore::CanvasRenderingContext2D::font):
2341         * inspector/IdentifiersFactory.cpp:
2342         (WebCore::IdentifiersFactory::addProcessIdPrefixTo):
2343         * page/FrameTree.cpp:
2344         (WebCore::FrameTree::uniqueChildName):
2345         * page/SecurityOrigin.cpp:
2346         (WebCore::SecurityOrigin::toRawString):
2347         * platform/Decimal.cpp:
2348         (WebCore::Decimal::toString):
2349         * platform/network/ProxyServer.cpp:
2350         (WebCore::appendProxyServerString):
2351         * platform/text/TextStream.cpp:
2352         (WebCore::TextStream::operator<<):
2353         * platform/text/TextStream.h:
2354         * rendering/RenderTreeAsText.cpp:
2355         (WebCore::nodePosition):
2356         * xml/XMLErrors.cpp:
2357         (WebCore::XMLErrors::appendErrorMessage):
2358
2359 2012-09-09  KyungTae Kim  <ktf.kim@samsung.com>
2360
2361         [EFL] Wrong rendering results for square-button-appearance.html
2362         https://bugs.webkit.org/show_bug.cgi?id=85493
2363
2364         Reviewed by Gyuyoung Kim.
2365
2366         A square-button is an element that has '-webkit-appearance: square-button' style.
2367         
2368         If it is a block element, 
2369         the RenderBlock::recomputeLogicalWidth recalculate the width from the padding values.
2370         
2371         But the recalculated width became wrong because the RenderThemeEfl::adjustSizeConstraints 
2372         called from RenderThemeEfl::adjustButtonStyle adds padding values for a button.
2373
2374         So, the adjustSizeConstraints must not be called for a square-button(SquareButtonPart).
2375
2376         Test : fast/css/square-button-appearance.html
2377
2378         * platform/efl/RenderThemeEfl.cpp:
2379         (WebCore::RenderThemeEfl::adjustButtonStyle): Call adjustSizeConstrains only for PushButtonPart and ButtonPart
2380
2381 2012-09-09  Jinwoo Song  <jinwoo7.song@samsung.com>
2382
2383         [EFL][WK2] Minibrowser locks up when right clicking editable filed
2384         https://bugs.webkit.org/show_bug.cgi?id=96074
2385
2386         Reviewed by Gyuyoung Kim.
2387
2388         WebProcess crashes when the context menu type is SubmenuType and non-CROSS_PLATFORM_CONTEXT_MENUS is used.
2389         It is because platformSubMenu() in the ContextMenuItemEfl.cpp returns null. This patch implements the setSubMenu()
2390         and platformSubMenu() to set and return the subMenuItems.
2391
2392         * platform/efl/ContextMenuItemEfl.cpp:
2393         (WebCore::ContextMenuItem::setSubMenu):
2394         (WebCore::ContextMenuItem::platformSubMenu):
2395         (WebCore):
2396
2397 2012-09-09  Kangil Han  <kangil.han@samsung.com>
2398
2399         Pass full target idl file path to CodeGenerator as a constructor argument.
2400         https://bugs.webkit.org/show_bug.cgi?id=96190
2401
2402         Reviewed by Kentaro Hara.
2403
2404         Passing idl file path to CodeGenerator would be useful because CodeGenerator* family could manipulate it when creating derived header and cpp files.
2405
2406         * bindings/scripts/CodeGenerator.pm:
2407         (new):
2408         (ProcessDocument):
2409         * bindings/scripts/generate-bindings.pl:
2410
2411 2012-09-09  Dan Bernstein  <mitz@apple.com>
2412
2413         Try to fix the build after r128006.
2414
2415         * dom/Element.cpp:
2416         (WebCore::Element::boundsInRootViewSpace): Updated for rename.
2417         (WebCore::Element::getBoundingClientRect): Ditto.
2418         * svg/SVGElement.cpp:
2419         (WebCore::SVGElement::getBoundingBox): Renamed boundingBox() to this, to avoid clashing
2420         with the virtual function on Node. The 'get' prefix also indicates that the result is
2421         returned in an out parameter.
2422         * svg/SVGElement.h:
2423         (SVGElement):
2424
2425 2012-09-09  Patrick Gansterer  <paroga@webkit.org>
2426
2427         Replace WTF::numberToString() with String::numberToStringECMAScript()
2428         https://bugs.webkit.org/show_bug.cgi?id=96130
2429
2430         Reviewed by Benjamin Poulain.
2431
2432         The String class provides a nice wrapper for this function
2433         in the meantime, so just use it to avoid code duplication.
2434
2435         * html/parser/HTMLParserIdioms.cpp:
2436         (WebCore::serializeForNumberType):
2437         * platform/Decimal.cpp:
2438         (WebCore::Decimal::fromDouble):
2439
2440 2012-09-09  Emil A Eklund  <eae@chromium.org>
2441
2442         Rename Node::getRect/getPixelSnappedRect and remove ContainerNode::getRect
2443         https://bugs.webkit.org/show_bug.cgi?id=81413
2444
2445         Reviewed by David Hyatt.
2446
2447         Rename Node::getRect and getPixelSnappedRect to boundingBox and
2448         pixelSnappedBoundingBox respectively.
2449
2450         Remove overridden getRect method from ContainerNode as it calculates the
2451         same rect as the Node implementation but in a more complicated and
2452         error-prone way. Also remove the getUpperLeftCorner/getLowerRightCorner
2453         support functions as they are no longer needed.
2454
2455         No new tests, no change in functionality.
2456
2457         * accessibility/AccessibilitySlider.cpp:
2458         (WebCore::AccessibilitySliderThumb::elementRect):
2459         Update to call boundingBox.
2460
2461         * dom/ContainerNode.cpp:
2462         * dom/ContainerNode.h:
2463         Remove overridden getRect method and the getUpperLeftCorner/
2464         getLowerRightCorner support methods .
2465
2466         * dom/Element.cpp:
2467         (WebCore::Element::scrollIntoView):
2468         (WebCore::Element::scrollIntoViewIfNeeded):
2469         (WebCore::Element::updateFocusAppearance):
2470         Update to call boundingBox.
2471         
2472         * dom/Node.h:
2473         * dom/Node.cpp:
2474         (WebCore::Node::boundingBox):
2475         Rename getRect to boundingBox.
2476
2477         (WebCore::Node::pixelSnappedBoundingBox):
2478         Rename getPixelSnappedRect to pixelSnappedBoundingBox.
2479         
2480         * html/ColorInputType.cpp:
2481         (WebCore::ColorInputType::elementRectRelativeToRootView):
2482         * html/ValidationMessage.cpp:
2483         (WebCore::ValidationMessage::buildBubbleTree):
2484         * html/shadow/CalendarPickerElement.cpp:
2485         (WebCore::CalendarPickerElement::openPopup):
2486         * html/shadow/TextControlInnerElements.cpp:
2487         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
2488         * page/FrameView.cpp:
2489         (WebCore::FrameView::scrollElementToRect):
2490         (WebCore::FrameView::scrollToAnchor):
2491         * page/SpatialNavigation.cpp:
2492         (WebCore::nodeRectInAbsoluteCoordinates):
2493         Update to call boundingBox/pixelSnappedBoundingBox.
2494
2495 2012-09-09  Christopher Cameron  <ccameron@chromium.org>
2496
2497         [chromium] Do not delete texture backing structures on the main thread
2498         https://bugs.webkit.org/show_bug.cgi?id=96018
2499
2500         Reviewed by James Robinson.
2501
2502         Do not delete CCPrioritizedTexture::Backing structures on the main
2503         thread.  Instead, unlink them from their owning CCPrioritizedTexture
2504         in the main thread, and have the impl thread then delete all unlinked
2505         textures.
2506
2507         This is towards having the main thread not access the m_backings set,
2508         which will allow the impl thread to traverse that set when deleting
2509         resources in response to GPU memory management events.
2510
2511         Tested by existing eviction tests (CCLayerTreeHostTest's
2512         TestEvictTextures, LostContextAfterEvictTextures)
2513
2514         Fix a place where single thread proxy wasn't setting the main thread
2515         blocked state correctly.
2516
2517         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2518         (WebCore::CCLayerTreeHost::unlinkAllContentTextures):
2519         (WebCore):
2520         (WebCore::CCLayerTreeHost::deleteUnlinkedTextures):
2521         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2522         (CCLayerTreeHost):
2523         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
2524         (WebCore::CCPrioritizedTextureManager::clearAllMemory):
2525         (WebCore::CCPrioritizedTextureManager::unlinkAllBackings):
2526         (WebCore):
2527         (WebCore::CCPrioritizedTextureManager::deleteAllUnlinkedBackings):
2528         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h:
2529         (CCPrioritizedTextureManager):
2530         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
2531         (WebCore::CCSingleThreadProxy::commitAndComposite):
2532         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2533         (WebCore::CCThreadProxy::beginFrame):
2534         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
2535
2536 2012-09-09  Andreas Kling  <kling@webkit.org>
2537
2538         EventListenerMap: Use Vector instead of HashMap as backend.
2539         <http://webkit.org/b/77982>
2540
2541         Reviewed by Geoff Garen.
2542
2543         Refactor EventListenerMap to store pair<AtomicString, EventListenerVector> in a Vector
2544         instead of using key/value HashMap stores. This is much more space efficient and actually
2545         faster since we were spending more time/effort managing the hash map than it costs us
2546         to iterate over and compare a couple of pointers. (It's very rare to have more than
2547         4 different event types registered in a single EventListenerMap.)
2548
2549         This gets rid of the slightly hacky optimization for nodes with listeners of a single type,
2550         reducing the complexity of EventListenerMap greatly.
2551
2552         ~1.1MB progression on Membuster. Also strong (20+ MB on larger patches) savings on WebKit
2553         bugzilla review pages, though they don't necessarily represent a common usecase.
2554
2555         * dom/EventListenerMap.cpp:
2556         (WebCore::EventListenerMap::contains):
2557         (WebCore::EventListenerMap::clear):
2558         (WebCore::EventListenerMap::eventTypes):
2559         (WebCore::EventListenerMap::add):
2560         (WebCore::EventListenerMap::remove):
2561         (WebCore::EventListenerMap::find):
2562         (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
2563         (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
2564         (WebCore::EventListenerIterator::EventListenerIterator):
2565         (WebCore::EventListenerIterator::nextListener):
2566         * dom/EventListenerMap.h:
2567         (WebCore::EventListenerMap::isEmpty):
2568         (WebCore::EventListenerMapEntry::EventListenerMapEntry):
2569         (EventListenerMapEntry):
2570         (EventListenerMap):
2571         (EventListenerIterator):
2572
2573 2012-09-09  Lucas Forschler  <lforschler@apple.com>
2574
2575         Build Fix.  <rdar://problem/12260893>
2576         
2577         * platform/graphics/mac/WebGLLayer.mm:
2578
2579 2012-09-09  Sheriff Bot  <webkit.review.bot@gmail.com>
2580
2581         Unreviewed, rolling out r127979.
2582         http://trac.webkit.org/changeset/127979
2583         https://bugs.webkit.org/show_bug.cgi?id=96217
2584
2585         Appears to have broken the windows and linux builds (Requested
2586         by jamesr_ on #webkit).
2587
2588         * bindings/scripts/CodeGeneratorV8.pm:
2589         (NativeToJSValue):
2590         * bindings/v8/V8DOMWrapper.h:
2591         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
2592         (V8DOMWrapper):
2593
2594 2012-09-09  James Robinson  <jamesr@chromium.org>
2595
2596         [chromium] webkit_platform should only be linked into the webkit target
2597         https://bugs.webkit.org/show_bug.cgi?id=96213
2598
2599         Reviewed by Adrienne Walker.
2600
2601         The Platform.gyp:webkit_platform target provides the implementation of several WEBKIT_EXPORTed symbols. It only
2602         makes sense as a target of WebKit.gyp:webkit, other targets shouldn't directly depend on it.
2603
2604         * WebCore.gyp/WebCore.gyp:
2605
2606 2012-09-09  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2607
2608         [EFL] Fix build break when MEDIA_STREAM is enabled.
2609         https://bugs.webkit.org/show_bug.cgi?id=96063
2610
2611         Unreviewed. Fix build break when MEDIA_STREAM is enabled.
2612
2613         * CMakeLists.txt:
2614
2615 2012-09-09  Adam Barth  <abarth@webkit.org>
2616
2617         [V8] convertEventTargetToV8Object doesn't need to be overloaded
2618         https://bugs.webkit.org/show_bug.cgi?id=96195
2619
2620         Reviewed by Kentaro Hara.
2621
2622         WTF::getPtr solves this problem for us.
2623
2624         * bindings/scripts/CodeGeneratorV8.pm:
2625         (NativeToJSValue):
2626         * bindings/v8/V8DOMWrapper.h:
2627         (V8DOMWrapper):
2628
2629 2012-09-09  Adam Barth  <abarth@webkit.org>
2630
2631         [V8] V8PerContextData holds m_context using a v8::Handle rather than a v8::Persistent
2632         https://bugs.webkit.org/show_bug.cgi?id=96193
2633
2634         Reviewed by Kentaro Hara.
2635
2636         There are two types of handles in V8: Local and Persistent. We are now
2637         permitted to keep Local handles in the heap because they get
2638         deallocated when the C++ stack unwinds and v8::HandleScope objects are
2639         destructed.
2640
2641         V8PerContextData holds its m_context using the non-specific v8::Handle
2642         type. If we used a Local handle here, we'd have a memory safety
2643         problem. Thankfully, we use a Persistent handle, which need to be
2644         allocated and freed manually.
2645
2646         This patch makes the type of V8PerContextData::m_context more specific
2647         to ensure that we never try to store a local handle in this variable.
2648         This patch should not have any behavior change because we were already
2649         storing a Persistent handle.
2650
2651         * bindings/v8/V8PerContextData.h:
2652         (WebCore::V8PerContextData::create):
2653         (WebCore::V8PerContextData::V8PerContextData):
2654         (V8PerContextData):
2655
2656 2012-09-09  Adam Barth  <abarth@webkit.org>
2657
2658         [V8] V8DOMWindowShell does not need to be RefCounted
2659         https://bugs.webkit.org/show_bug.cgi?id=96192
2660
2661         Reviewed by Kentaro Hara.
2662
2663         V8DOMWindowShell holds a raw Frame pointer, which would point to
2664         unallocated memory if any object that wasn't owned by the frame took a
2665         reference to a V8DOMWindowShell. Thankfully, the only object that takes
2666         a reference to the V8DOMWindowShell is ScriptController, which is owned
2667         by the Frame.
2668
2669         This patch stops V8DOMWindowShell from being RefCounted so that no
2670         other objects are tempted to take a reference to it in the future.
2671
2672         * bindings/v8/ScriptController.h:
2673         (ScriptController):
2674         * bindings/v8/V8DOMWindowShell.cpp:
2675         (WebCore::V8DOMWindowShell::create):
2676         * bindings/v8/V8DOMWindowShell.h:
2677         (V8DOMWindowShell):
2678
2679 2012-09-08  Adam Barth  <abarth@webkit.org>
2680
2681         [V8] unsafeHandleToCurrentWorldContext doesn't need to exist
2682         https://bugs.webkit.org/show_bug.cgi?id=96191
2683
2684         Reviewed by Kentaro Hara.
2685
2686         Previously, we used this function when instantiating DOM wrappers. Now
2687         we get the context from the creationContext, so we don't need access to
2688         this unsafe handle. This patch inlines the function into its one other
2689         caller.
2690
2691         * bindings/v8/ScriptController.cpp:
2692         (WebCore::ScriptController::currentWorldContext):
2693         * bindings/v8/ScriptController.h:
2694         (ScriptController):
2695
2696 2012-09-08  Benjamin Poulain  <bpoulain@apple.com>
2697
2698         Specialize nextBreakablePosition depending on breakNBSP
2699         https://bugs.webkit.org/show_bug.cgi?id=96042
2700
2701         Reviewed by Eric Seidel.
2702
2703         The speed of isBreakableSpace() is limited by the speed of the inner loop of nextBreakablePosition().
2704         The branches done to handle noBreakSpace can be simplified outside the loop
2705         to reduce the number of tests inside the loop.
2706
2707         This patch split the code of nextBreakablePosition() in two function, depending if breakNBSP is true
2708         or false.
2709
2710         If breakNBSP is true, isBreakableSpace() would return true on noBreakSpace.
2711         ->There is no need to test that value again for needsLineBreakIterator().
2712         ->There is no need to special case the switch() of isBreakableSpace() for noBreakSpace.
2713
2714         If breakNBSP is false:
2715         ->isBreakableSpace() does not need to test for noBreakSpace.
2716
2717         On x86_64, this improves PerformanceTests/Layout/line-layout.html by 2.8%.
2718
2719         * rendering/break_lines.cpp:
2720         (WebCore::isBreakableSpace):
2721         (WebCore::nextBreakablePositionIgnoringNBSP):
2722         (WebCore::nextBreakablePosition):
2723         * rendering/break_lines.h:
2724         (WebCore::isBreakable): Remove the default value for breakNBSP, no caller is using it.
2725
2726 2012-09-08  Adam Barth  <abarth@chromium.org>
2727
2728         [V8] DOM wrapper creation involves a bunch of sketchy code related to finding the Frame
2729         https://bugs.webkit.org/show_bug.cgi?id=96147
2730
2731         Reviewed by Eric Seidel.
2732
2733         Previously, we used the Frame when instantiating DOM wrappers. That's
2734         sketchy because not all DOM wrappers know how to find their Frame, and
2735         the Frame might be displaying a different document now anyway. This
2736         patch now gets all the information directly from the creation context.
2737
2738         In addition, this patch gets the proper creation context in a few more
2739         cases, including Location.
2740
2741         * bindings/scripts/CodeGeneratorV8.pm:
2742         (GetInternalFields):
2743         (GenerateNormalAttrGetter):
2744         (GenerateToV8Converters):
2745         (GenerateFunctionCallString):
2746         (NativeToJSValue):
2747         * bindings/scripts/test/V8/V8Float64Array.cpp:
2748         (WebCore::Float64ArrayV8Internal::fooCallback):
2749         (WebCore::V8Float64Array::wrapSlow):
2750         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2751         (WebCore::V8TestActiveDOMObject::wrapSlow):
2752         * bindings/scripts/test/V8/V8TestCallback.cpp:
2753         (WebCore::V8TestCallback::callbackWithClass1Param):
2754         (WebCore::V8TestCallback::callbackWithClass2Param):
2755         (WebCore::V8TestCallback::callbackWithStringList):
2756         (WebCore::V8TestCallback::callbackRequiresThisToPass):
2757         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2758         (WebCore::V8TestCustomNamedGetter::wrapSlow):
2759         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2760         (WebCore::V8TestEventConstructor::wrapSlow):
2761         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2762         (WebCore::TestEventTargetV8Internal::itemCallback):
2763         (WebCore::V8TestEventTarget::wrapSlow):
2764         * bindings/scripts/test/V8/V8TestException.cpp:
2765         (WebCore::V8TestException::wrapSlow):
2766         * bindings/scripts/test/V8/V8TestInterface.cpp:
2767         (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter):
2768         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
2769         (WebCore::V8TestInterface::wrapSlow):
2770         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2771         (WebCore::V8TestMediaQueryListListener::wrapSlow):
2772         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2773         (WebCore::V8TestNamedConstructor::wrapSlow):
2774         * bindings/scripts/test/V8/V8TestNode.cpp:
2775         (WebCore::V8TestNode::wrapSlow):
2776         * bindings/scripts/test/V8/V8TestObj.cpp:
2777         (WebCore::TestObjV8Internal::testObjAttrAttrGetter):
2778         (WebCore::TestObjV8Internal::XMLObjAttrAttrGetter):
2779         (WebCore::TestObjV8Internal::typedArrayAttrAttrGetter):
2780         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter):
2781         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
2782         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
2783         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
2784         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
2785         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
2786         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
2787         (WebCore::TestObjV8Internal::contentDocumentAttrGetter):
2788         (WebCore::TestObjV8Internal::objMethodCallback):
2789         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
2790         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
2791         (WebCore::TestObjV8Internal::withScriptStateObjCallback):
2792         (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
2793         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
2794         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
2795         (WebCore::TestObjV8Internal::getSVGDocumentCallback):
2796         (WebCore::TestObjV8Internal::strictFunctionCallback):
2797         (WebCore::V8TestObj::wrapSlow):
2798         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2799         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
2800         * bindings/v8/V8DOMWindowShell.cpp:
2801         (WebCore::V8DOMWindowShell::disposeContext):
2802         * bindings/v8/V8DOMWrapper.cpp:
2803         (WebCore::V8DOMWrapper::instantiateV8Object):
2804         * bindings/v8/V8DOMWrapper.h:
2805         (V8DOMWrapper):
2806         * bindings/v8/V8PerContextData.cpp:
2807         (WebCore):
2808         (WebCore::V8PerContextData::current):
2809         (WebCore::V8PerContextData::dispose):
2810         (WebCore::V8PerContextData::init):
2811         * bindings/v8/V8PerContextData.h:
2812         (V8PerContextData):
2813
2814 2012-09-08  Arvid Nilsson  <anilsson@rim.com>
2815
2816         [CSS Shaders] [BlackBerry] Refactor CustomFilterMesh and CustomFilter*Program
2817         https://bugs.webkit.org/show_bug.cgi?id=94725
2818
2819         Reviewed by George Staikos.
2820
2821         Separate the MeshGenerator from the CustomFilterMesh into
2822         CustomFilterMeshGenerator.h/cpp. This allows the BlackBerry port to
2823         reuse the mesh generator in its accelerated compositing implementation.
2824
2825         Also add support for creating a "PlatformCompiledProgram" from a
2826         CustomFilterValidatedProgram, so the BlackBerry port can reuse the
2827         shader validation code in its accelerated compositing implementation.
2828
2829         It turns out the GraphicsContext3D is not needed for ANGLE to function,
2830         so this patch removes an ASSERT that required a context before
2831         validating the shaders using ANGLE. This allows the BlackBerry port to
2832         reuse the validation code without triggering the assert. In the future,
2833         the validation code could be moved to a separate class to make it more
2834         obvious that it isn't really related to GraphicsContext3D.
2835
2836         In general, this refactoring can be useful for any port that uses
2837         OpenGL to implement accelerated compositing.
2838
2839         Inspired by an original patch by Joshua Netterfield.
2840
2841         No new tests, because this patch implements no new functionality.
2842
2843         * GNUmakefile.list.am:
2844         * Target.pri:
2845         * WebCore.gypi:
2846         * WebCore.vcproj/WebCore.vcproj:
2847         * WebCore.xcodeproj/project.pbxproj:
2848         * platform/graphics/filters/CustomFilterGlobalContext.cpp:
2849         (WebCore::CustomFilterGlobalContext::getValidatedProgram):
2850         * platform/graphics/filters/CustomFilterMesh.cpp:
2851         (WebCore::CustomFilterMesh::CustomFilterMesh):
2852         * platform/graphics/filters/CustomFilterMeshGenerator.cpp: Added.
2853         (WebCore):
2854         (WebCore::CustomFilterMeshGenerator::CustomFilterMeshGenerator):
2855         (WebCore::CustomFilterMeshGenerator::addAttachedMeshIndex):
2856         (WebCore::CustomFilterMeshGenerator::generateAttachedMesh):
2857         (WebCore::CustomFilterMeshGenerator::addDetachedMeshVertexAndIndex):
2858         (WebCore::CustomFilterMeshGenerator::generateDetachedMesh):
2859         (WebCore::CustomFilterMeshGenerator::addPositionAttribute):
2860         (WebCore::CustomFilterMeshGenerator::addTexCoordAttribute):
2861         (WebCore::CustomFilterMeshGenerator::addMeshCoordAttribute):
2862         (WebCore::CustomFilterMeshGenerator::addTriangleCoordAttribute):
2863         (WebCore::CustomFilterMeshGenerator::addAttachedMeshVertexAttributes):
2864         (WebCore::CustomFilterMeshGenerator::addDetachedMeshVertexAttributes):
2865         (WebCore::CustomFilterMeshGenerator::dumpBuffers):
2866         * platform/graphics/filters/CustomFilterMeshGenerator.h: Added.
2867         (WebCore):
2868         (CustomFilterMeshGenerator):
2869         (WebCore::CustomFilterMeshGenerator::vertices):
2870         (WebCore::CustomFilterMeshGenerator::indices):
2871         (WebCore::CustomFilterMeshGenerator::points):
2872         (WebCore::CustomFilterMeshGenerator::pointsCount):
2873         (WebCore::CustomFilterMeshGenerator::tiles):
2874         (WebCore::CustomFilterMeshGenerator::tilesCount):
2875         (WebCore::CustomFilterMeshGenerator::indicesCount):
2876         (WebCore::CustomFilterMeshGenerator::floatsPerVertex):
2877         (WebCore::CustomFilterMeshGenerator::verticesCount):
2878         (WebCore::CustomFilterMeshGenerator::addTile):
2879         * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
2880         (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram):
2881         (WebCore::CustomFilterValidatedProgram::compiledProgram):
2882         (WebCore::CustomFilterValidatedProgram::~CustomFilterValidatedProgram):
2883         (WebCore):
2884         (WebCore::CustomFilterValidatedProgram::platformCompiledProgram):
2885         (WebCore::CustomFilterValidatedProgram::platformDestroy):
2886         * platform/graphics/filters/CustomFilterValidatedProgram.h:
2887         (WebCore):
2888         (CustomFilterValidatedProgram):
2889         * platform/graphics/filters/blackberry/CustomFilterValidatedProgramBlackBerry.cpp: Added.
2890         (WebCore):
2891         (WebCore::CustomFilterValidatedProgram::platformCompiledProgram):
2892         (WebCore::CustomFilterValidatedProgram::platformDestroy):
2893
2894 2012-09-07  Simon Hausmann  <simon.hausmann@nokia.com>
2895
2896         Fix the build of OpenGLShims on Windows
2897         https://bugs.webkit.org/show_bug.cgi?id=96123
2898
2899         Reviewed by Kenneth Rohde Christiansen.
2900
2901         OpenGL functions on Windows are generally defined as __stdcall, so we need to make sure
2902         that we declare our own "copies" of those functions with the same calling convention.
2903
2904         This is also required for the situation where we build against ANGLE, because then we
2905         initialize the function table entries with a direct assignment (entry = ::glMyFunction())
2906         and the assignment does not compile if the types don't match, i.e. if RHS has a different
2907         calling convention than LHS.
2908
2909         The approach chosen is basically the same as in the Khronos headers,
2910         using a GLAPIENTRY macro.
2911
2912         * platform/graphics/OpenGLShims.h:
2913
2914 2012-09-07  Benjamin Poulain  <bpoulain@apple.com>
2915
2916         Rename the ustring() accessor to string()
2917         https://bugs.webkit.org/show_bug.cgi?id=95919
2918
2919         Reviewed by Geoffrey Garen.
2920
2921         * bindings/js/Dictionary.cpp:
2922         (WebCore::Dictionary::getOwnPropertiesAsStringHashMap):
2923         (WebCore::Dictionary::getOwnPropertyNames):
2924         * bindings/js/SerializedScriptValue.cpp:
2925         Simplify a few String constructions which were still using type conversion
2926         through StringImpl.
2927
2928         (WebCore::CloneSerializer::write):
2929         (WebCore::CloneDeserializer::CachedString::string):
2930         (WebCore::CloneDeserializer::readFile):
2931         (WebCore::CloneDeserializer::readTerminal):
2932         (WebCore::CloneDeserializer::deserialize):
2933         * bridge/NP_jsobject.cpp:
2934         (_NPN_Enumerate):
2935
2936 2012-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2937
2938         Unreviewed, rolling out r127955.
2939         http://trac.webkit.org/changeset/127955
2940         https://bugs.webkit.org/show_bug.cgi?id=96174
2941
2942         Hits an ASSERT (Requested by abarth on #webkit).
2943
2944         * bindings/scripts/CodeGeneratorV8.pm:
2945         (GetInternalFields):
2946         (GenerateNormalAttrGetter):
2947         (GenerateToV8Converters):
2948         (GenerateFunctionCallString):
2949         (NativeToJSValue):
2950         * bindings/scripts/test/V8/V8Float64Array.cpp:
2951         (WebCore::Float64ArrayV8Internal::fooCallback):
2952         (WebCore::V8Float64Array::wrapSlow):
2953         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2954         (WebCore::V8TestActiveDOMObject::wrapSlow):
2955         * bindings/scripts/test/V8/V8TestCallback.cpp:
2956         (WebCore::V8TestCallback::callbackWithClass1Param):
2957         (WebCore::V8TestCallback::callbackWithClass2Param):
2958         (WebCore::V8TestCallback::callbackWithStringList):
2959         (WebCore::V8TestCallback::callbackRequiresThisToPass):
2960         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2961         (WebCore::V8TestCustomNamedGetter::wrapSlow):
2962         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2963         (WebCore::V8TestEventConstructor::wrapSlow):
2964         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2965         (WebCore::TestEventTargetV8Internal::itemCallback):
2966         (WebCore::V8TestEventTarget::wrapSlow):
2967         * bindings/scripts/test/V8/V8TestException.cpp:
2968         (WebCore::V8TestException::wrapSlow):
2969         * bindings/scripts/test/V8/V8TestInterface.cpp:
2970         (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter):
2971         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
2972         (WebCore::V8TestInterface::wrapSlow):
2973         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2974         (WebCore::V8TestMediaQueryListListener::wrapSlow):
2975         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2976         (WebCore::V8TestNamedConstructor::wrapSlow):
2977         * bindings/scripts/test/V8/V8TestNode.cpp:
2978         (WebCore::V8TestNode::wrapSlow):
2979         * bindings/scripts/test/V8/V8TestObj.cpp:
2980         (WebCore::TestObjV8Internal::testObjAttrAttrGetter):
2981         (WebCore::TestObjV8Internal::XMLObjAttrAttrGetter):
2982         (WebCore::TestObjV8Internal::typedArrayAttrAttrGetter):
2983         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter):
2984         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
2985         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
2986         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
2987         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
2988         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
2989         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
2990         (WebCore::TestObjV8Internal::contentDocumentAttrGetter):
2991         (WebCore::TestObjV8Internal::objMethodCallback):
2992         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
2993         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
2994         (WebCore::TestObjV8Internal::withScriptStateObjCallback):
2995         (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
2996         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
2997         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
2998         (WebCore::TestObjV8Internal::getSVGDocumentCallback):
2999         (WebCore::TestObjV8Internal::strictFunctionCallback):
3000         (WebCore::V8TestObj::wrapSlow):
3001         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3002         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
3003         * bindings/v8/V8DOMWindowShell.cpp:
3004         (WebCore::V8DOMWindowShell::disposeContext):
3005         * bindings/v8/V8DOMWrapper.cpp:
3006         (WebCore::V8DOMWrapper::instantiateV8Object):
3007         * bindings/v8/V8DOMWrapper.h:
3008         (V8DOMWrapper):
3009         * bindings/v8/V8PerContextData.cpp:
3010         (WebCore::V8PerContextData::dispose):
3011         (WebCore::V8PerContextData::init):
3012         * bindings/v8/V8PerContextData.h:
3013         (V8PerContextData):
3014
3015 2012-09-06  Jeffrey Pfau  <jpfau@apple.com>
3016
3017         Extend third-party storage blocking API to optionally allow blocking all storage
3018         https://bugs.webkit.org/show_bug.cgi?id=95915
3019
3020         Reviewed by Brady Eidson.
3021
3022         Replace boolean API with tri-state API that allows for blocking no, third-party, or all storage.
3023
3024         Tests: http/tests/security/same-origin-shared-worker-blocked.html
3025                http/tests/security/same-origin-storage-blocked.html
3026                http/tests/security/same-origin-websql-blocked.html
3027
3028         * dom/Document.cpp:
3029         (WebCore::Document::initSecurityContext):
3030         * page/SecurityOrigin.cpp:
3031         (WebCore::SecurityOrigin::SecurityOrigin):
3032         (WebCore::SecurityOrigin::canAccessStorage):
3033         * page/SecurityOrigin.h:
3034         (WebCore::SecurityOrigin::setStorageBlockingPolicy):
3035         (SecurityOrigin):
3036         * page/Settings.cpp:
3037         (WebCore::Settings::Settings):
3038         * page/Settings.h:
3039         (WebCore::Settings::setStorageBlockingPolicy):
3040         (WebCore::Settings::storageBlockingPolicy):
3041         (Settings):
3042         * testing/InternalSettings.cpp:
3043         (WebCore::InternalSettings::setStorageBlockingPolicy):
3044         * testing/InternalSettings.h:
3045         (InternalSettings):
3046         * testing/InternalSettings.idl:
3047
3048 2012-09-07  Adam Barth  <abarth@chromium.org>
3049
3050         [V8] DOM wrapper creation involves a bunch of sketchy code related to finding the Frame
3051         https://bugs.webkit.org/show_bug.cgi?id=96147
3052
3053         Reviewed by Eric Seidel.
3054
3055         Previously, we used the Frame when instantiating DOM wrappers. That's
3056         sketchy because not all DOM wrappers know how to find their Frame, and
3057         the Frame might be displaying a different document now anyway. This
3058         patch now gets all the information directly from the creation context.
3059
3060         In addition, this patch gets the proper creation context in a few more
3061         cases, including Location.
3062
3063         * bindings/scripts/CodeGeneratorV8.pm:
3064         (GetInternalFields):
3065         (GenerateNormalAttrGetter):
3066         (GenerateToV8Converters):
3067         (GenerateFunctionCallString):
3068         (NativeToJSValue):
3069         * bindings/scripts/test/V8/V8Float64Array.cpp:
3070         (WebCore::Float64ArrayV8Internal::fooCallback):
3071         (WebCore::V8Float64Array::wrapSlow):
3072         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
3073         (WebCore::V8TestActiveDOMObject::wrapSlow):
3074         * bindings/scripts/test/V8/V8TestCallback.cpp:
3075         (WebCore::V8TestCallback::callbackWithClass1Param):
3076         (WebCore::V8TestCallback::callbackWithClass2Param):
3077         (WebCore::V8TestCallback::callbackWithStringList):
3078         (WebCore::V8TestCallback::callbackRequiresThisToPass):
3079         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3080         (WebCore::V8TestCustomNamedGetter::wrapSlow):
3081         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3082         (WebCore::V8TestEventConstructor::wrapSlow):
3083         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3084         (WebCore::TestEventTargetV8Internal::itemCallback):
3085         (WebCore::V8TestEventTarget::wrapSlow):
3086         * bindings/scripts/test/V8/V8TestException.cpp:
3087         (WebCore::V8TestException::wrapSlow):
3088         * bindings/scripts/test/V8/V8TestInterface.cpp:
3089         (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter):
3090         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
3091         (WebCore::V8TestInterface::wrapSlow):
3092         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
3093         (WebCore::V8TestMediaQueryListListener::wrapSlow):
3094         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3095         (WebCore::V8TestNamedConstructor::wrapSlow):
3096         * bindings/scripts/test/V8/V8TestNode.cpp:
3097         (WebCore::V8TestNode::wrapSlow):
3098         * bindings/scripts/test/V8/V8TestObj.cpp:
3099         (WebCore::TestObjV8Internal::testObjAttrAttrGetter):
3100         (WebCore::TestObjV8Internal::XMLObjAttrAttrGetter):
3101         (WebCore::TestObjV8Internal::typedArrayAttrAttrGetter):
3102         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter):
3103         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
3104         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
3105         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
3106         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
3107         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
3108         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
3109         (WebCore::TestObjV8Internal::contentDocumentAttrGetter):
3110         (WebCore::TestObjV8Internal::objMethodCallback):
3111         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
3112         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
3113         (WebCore::TestObjV8Internal::withScriptStateObjCallback):
3114         (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
3115         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
3116         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
3117         (WebCore::TestObjV8Internal::getSVGDocumentCallback):
3118         (WebCore::TestObjV8Internal::strictFunctionCallback):
3119         (WebCore::V8TestObj::wrapSlow):
3120         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3121         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
3122         * bindings/v8/V8DOMWindowShell.cpp:
3123         (WebCore::V8DOMWindowShell::disposeContext):
3124         * bindings/v8/V8DOMWrapper.cpp:
3125         (WebCore::V8DOMWrapper::instantiateV8Object):
3126         * bindings/v8/V8DOMWrapper.h:
3127         (V8DOMWrapper):
3128         * bindings/v8/V8PerContextData.cpp:
3129         (WebCore):
3130         (WebCore::V8PerContextData::current):
3131         (WebCore::V8PerContextData::dispose):
3132         (WebCore::V8PerContextData::init):
3133         * bindings/v8/V8PerContextData.h:
3134         (V8PerContextData):
3135
3136 2012-09-07  James Robinson  <jamesr@chromium.org>
3137
3138         [chromium] Remove transitional WebCompositorSupport fallback code
3139         https://bugs.webkit.org/show_bug.cgi?id=96155
3140
3141         Reviewed by Adrienne Walker.
3142
3143         The implementation of WebCompositorSupport has rolled out everywhere and the static ::create() functions are
3144         going way.
3145
3146         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
3147         (WebCore::createScrollbarLayer):
3148         * platform/graphics/chromium/AnimationTranslationUtil.cpp:
3149         (WebCore::createWebAnimation):
3150         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
3151         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
3152         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3153         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
3154         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3155         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
3156         (WebCore::GraphicsLayerChromium::setContentsToImage):
3157         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
3158
3159 2012-09-07  Simon Hausmann  <simon.hausmann@nokia.com>
3160
3161         Fix compilation of TextureMapperShaderManager.cpp with MSVC
3162         https://bugs.webkit.org/show_bug.cgi?id=96121
3163
3164         Reviewed by Kenneth Rohde Christiansen.
3165
3166         Named variadic parameters in macros appear to be a GCC extension. Fortunately __VA_ARGS__ seems
3167         to work with GCC and MSVC here.
3168
3169         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
3170         (WebCore):
3171         (WebCore::StandardFilterProgram::StandardFilterProgram):
3172
3173 2012-09-07  Victoria Kirst  <vrk@chromium.org>
3174
3175         Seek to end after duration change in HTMLMediaElement
3176         https://bugs.webkit.org/show_bug.cgi?id=95986
3177
3178         Reviewed by Eric Carlson.
3179
3180         This seeks the media element to the end of the media resource if the current playback
3181         position has become greater than the duration after a duration change.
3182         http://dev.w3.org/html5/spec/media-elements.html#durationChange
3183
3184         Test: http/tests/media/media-source/seek-to-end-after-duration-change.html
3185
3186         * html/HTMLMediaElement.cpp:
3187         (WebCore::HTMLMediaElement::mediaPlayerDurationChanged): After firing the duration change event, checks to see if current time exceeds duration and if so, seeks to duration.
3188
3189 2012-09-07  James Robinson  <jamesr@chromium.org>
3190
3191         [chromium] Implement WebCompositorInputHandlerImpl on top of exposed API instead of CC internals
3192         https://bugs.webkit.org/show_bug.cgi?id=96151
3193
3194         Reviewed by Adrienne Walker.
3195
3196         Reworks the CC hookup for input handling to be more similar to the OutputSurface handling. If on compositor
3197         startup we want to initialize threaded input handling, we ask the embedder for a CCInputHandler implementation
3198         via CCLayerTreeHostClient. If the client provides one, we later bind this to a CCInputHandlerClient (actually
3199         CCLayerTreeHostImpl) from the compositor thread.
3200
3201         * platform/graphics/chromium/cc/CCInputHandler.h:
3202         (WebCore):
3203         (CCInputHandler):
3204         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3205         (WebCore::CCLayerTreeHost::CCLayerTreeHost):
3206         (WebCore::CCLayerTreeHost::initialize):
3207         (WebCore::CCLayerTreeHost::createInputHandler):
3208         (WebCore):
3209         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
3210         (CCLayerTreeHost):
3211         * platform/graphics/chromium/cc/CCLayerTreeHostClient.h:
3212         (WebCore):
3213         (CCLayerTreeHostClient):
3214         * platform/graphics/chromium/cc/CCProxy.h:
3215         (CCProxy):
3216         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
3217         (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
3218         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
3219         (CCSingleThreadProxy):
3220         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3221         (WebCore::CCThreadProxy::CCThreadProxy):
3222         (WebCore::CCThreadProxy::start):
3223         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
3224         (WebCore::CCThreadProxy::initializeImplOnImplThread):
3225         * platform/graphics/chromium/cc/CCThreadProxy.h:
3226         (CCThreadProxy):
3227
3228 2012-09-07  Adam Barth  <abarth@chromium.org>
3229
3230         [V8] Use a v8::Object rather than a v8::Context to represent the creationContext
3231         https://bugs.webkit.org/show_bug.cgi?id=96154
3232
3233         Reviewed by Eric Seidel.
3234
3235         This patch is a mechanical search-and-replace. Using a v8::Object
3236         rather than a v8::Context lets us delay the call to CreationContext()
3237         until we actually need to call it. This should not affect behavior.
3238
3239         * bindings/scripts/CodeGeneratorV8.pm:
3240         (GenerateHeader):
3241         (GenerateNormalAttrGetter):
3242         (GenerateNamedConstructorCallback):
3243         (GenerateImplementation):
3244         (GenerateToV8Converters):
3245         (GenerateFunctionCallString):
3246         (NativeToJSValue):
3247         * bindings/scripts/test/V8/V8Float64Array.cpp:
3248         (WebCore::Float64ArrayV8Internal::fooCallback):
3249         (WebCore::toV8):
3250         (WebCore::V8Float64Array::wrapSlow):
3251         * bindings/scripts/test/V8/V8Float64Array.h:
3252         (V8Float64Array):
3253         (WebCore::V8Float64Array::wrap):
3254         (WebCore):
3255         (WebCore::toV8):
3256         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
3257         (WebCore::V8TestActiveDOMObject::wrapSlow):
3258         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
3259         (V8TestActiveDOMObject):
3260         (WebCore::V8TestActiveDOMObject::wrap):
3261         (WebCore::toV8):
3262         * bindings/scripts/test/V8/V8TestCallback.cpp:
3263         (WebCore::V8TestCallback::callbackWithClass1Param):
3264         (WebCore::V8TestCallback::callbackWithClass2Param):
3265         (WebCore::V8TestCallback::callbackWithStringList):
3266         (WebCore::V8TestCallback::callbackRequiresThisToPass):
3267         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3268         (WebCore::V8TestCustomNamedGetter::wrapSlow):
3269         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
3270         (V8TestCustomNamedGetter):
3271         (WebCore::V8TestCustomNamedGetter::wrap):
3272         (WebCore::toV8):
3273         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3274         (WebCore::V8TestEventConstructor::wrapSlow):
3275         * bindings/scripts/test/V8/V8TestEventConstructor.h:
3276         (V8TestEventConstructor):
3277         (WebCore::V8TestEventConstructor::wrap):
3278         (WebCore::toV8):
3279         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3280         (WebCore::TestEventTargetV8Internal::itemCallback):
3281         (WebCore::V8TestEventTarget::wrapSlow):
3282         * bindings/scripts/test/V8/V8TestEventTarget.h:
3283         (V8TestEventTarget):
3284         (WebCore::V8TestEventTarget::wrap):
3285         (WebCore::toV8):
3286         * bindings/scripts/test/V8/V8TestException.cpp:
3287         (WebCore::V8TestException::wrapSlow):
3288         * bindings/scripts/test/V8/V8TestException.h:
3289         (V8TestException):
3290         (WebCore::V8TestException::wrap):
3291         (WebCore::toV8):
3292         * bindings/scripts/test/V8/V8TestInterface.cpp:
3293         (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter):
3294         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
3295         (WebCore::V8TestInterface::wrapSlow):
3296         * bindings/scripts/test/V8/V8TestInterface.h:
3297         (V8TestInterface):
3298         (WebCore::V8TestInterface::wrap):
3299         (WebCore::toV8):
3300         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
3301         (WebCore::V8TestMediaQueryListListener::wrapSlow):
3302         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
3303         (V8TestMediaQueryListListener):
3304         (WebCore::V8TestMediaQueryListListener::wrap):
3305         (WebCore::toV8):
3306         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3307         (WebCore::V8TestNamedConstructorConstructorCallback):
3308         (WebCore::V8TestNamedConstructor::wrapSlow):
3309         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
3310         (V8TestNamedConstructor):
3311         (WebCore::V8TestNamedConstructor::wrap):
3312         (WebCore::toV8):
3313         * bindings/scripts/test/V8/V8TestNode.cpp:
3314         (WebCore::V8TestNode::wrapSlow):
3315         * bindings/scripts/test/V8/V8TestNode.h:
3316         (V8TestNode):
3317         (WebCore::V8TestNode::wrap):
3318         (WebCore::toV8):
3319         * bindings/scripts/test/V8/V8TestObj.cpp:
3320         (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter):
3321         (WebCore::TestObjV8Internal::testObjAttrAttrGetter):
3322         (WebCore::TestObjV8Internal::XMLObjAttrAttrGetter):
3323         (WebCore::TestObjV8Internal::typedArrayAttrAttrGetter):
3324         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter):
3325         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
3326         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
3327         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
3328         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
3329         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
3330         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
3331         (WebCore::TestObjV8Internal::cachedAttribute1AttrGetter):
3332         (WebCore::TestObjV8Internal::cachedAttribute2AttrGetter):
3333         (WebCore::TestObjV8Internal::contentDocumentAttrGetter):
3334         (WebCore::TestObjV8Internal::mutablePointAttrGetter):
3335         (WebCore::TestObjV8Internal::immutablePointAttrGetter):
3336         (WebCore::TestObjV8Internal::objMethodCallback):
3337         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
3338         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
3339         (WebCore::TestObjV8Internal::withScriptStateObjCallback):
3340         (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
3341         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
3342         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
3343         (WebCore::TestObjV8Internal::getSVGDocumentCallback):
3344         (WebCore::TestObjV8Internal::mutablePointFunctionCallback):
3345         (WebCore::TestObjV8Internal::immutablePointFunctionCallback):
3346         (WebCore::TestObjV8Internal::strictFunctionCallback):
3347         (WebCore::V8TestObj::wrapSlow):
3348         * bindings/scripts/test/V8/V8TestObj.h:
3349         (V8TestObj):
3350         (WebCore::V8TestObj::wrap):
3351         (WebCore::toV8):
3352         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3353         (WebCore::TestSerializedScriptValueInterfaceV8Internal::portsAttrGetter):
3354         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
3355         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
3356         (V8TestSerializedScriptValueInterface):
3357         (WebCore::V8TestSerializedScriptValueInterface::wrap):
3358         (WebCore::toV8):
3359         * bindings/v8/DOMTransaction.cpp:
3360         (WebCore::DOMTransaction::callFunction):
3361         * bindings/v8/IDBCustomBindings.cpp:
3362         (WebCore::V8IDBCursorWithValue::valueAccessorGetter):
3363         * bindings/v8/SerializedScriptValue.cpp:
3364         * bindings/v8/V8Binding.h:
3365         (WebCore::V8ValueTraits::arrayV8Value):
3366         * bindings/v8/V8Collection.h:
3367         (WebCore::getV8Object):
3368         (WebCore::getNamedPropertyOfCollection):
3369         (WebCore::collectionNamedPropertyGetter):
3370         (WebCore::getIndexedPropertyOfCollection):
3371         (WebCore::collectionIndexedPropertyGetter):
3372         * bindings/v8/V8DOMWindowShell.cpp:
3373         (WebCore::getter):
3374         * bindings/v8/V8DOMWrapper.cpp:
3375         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
3376         * bindings/v8/V8DOMWrapper.h:
3377         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
3378         (V8DOMWrapper):
3379         * bindings/v8/V8ThrowException.cpp:
3380         (WebCore):
3381         * bindings/v8/custom/V8BlobCustom.cpp:
3382         (WebCore::toV8):
3383         (WebCore::V8Blob::constructorCallback):
3384         * bindings/v8/custom/V8CSSRuleCustom.cpp:
3385         (WebCore::toV8):
3386         * bindings/v8/custom/V8CSSValueCustom.cpp:
3387         (WebCore::toV8):
3388         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
3389         (WebCore::toV8Object):
3390         (WebCore::V8CanvasRenderingContext2D::strokeStyleAccessorGetter):
3391         (WebCore::V8CanvasRenderingContext2D::fillStyleAccessorGetter):
3392         * bindings/v8/custom/V8ConsoleCustom.cpp:
3393         (WebCore::V8Console::memoryAccessorGetter):
3394         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3395         (WebCore::V8DOMWindow::openCallback):
3396         (WebCore::V8DOMWindow::indexedPropertyGetter):
3397         (WebCore::V8DOMWindow::namedPropertyGetter):
3398         (WebCore::toV8):
3399         * bindings/v8/custom/V8DataViewCustom.cpp:
3400         (WebCore::toV8):
3401         * bindings/v8/custom/V8DocumentCustom.cpp:
3402         (WebCore::V8Document::evaluateCallback):
3403         (WebCore::V8Document::getCSSCanvasContextCallback):
3404         (WebCore::toV8):
3405         (WebCore::V8Document::createTouchListCallback):
3406         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
3407         (WebCore::V8Document::locationAccessorGetter):
3408         * bindings/v8/custom/V8EntryCustom.cpp:
3409         (WebCore::toV8):
3410         * bindings/v8/custom/V8EntrySyncCustom.cpp:
3411         (WebCore::toV8):
3412         * bindings/v8/custom/V8EventCustom.cpp:
3413         (WebCore::V8Event::dataTransferAccessorGetter):
3414         (WebCore::V8Event::clipboardDataAccessorGetter):
3415         (WebCore::toV8):
3416         * bindings/v8/custom/V8FileReaderCustom.cpp:
3417         (WebCore::V8FileReader::resultAccessorGetter):
3418         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
3419         (WebCore::getNamedItems):
3420         (WebCore::getItem):
3421         (WebCore::V8HTMLAllCollection::namedPropertyGetter):
3422         (WebCore::V8HTMLAllCollection::itemCallback):
3423         (WebCore::V8HTMLAllCollection::namedItemCallback):
3424         (WebCore::V8HTMLAllCollection::callAsFunctionCallback):
3425         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
3426         (WebCore::V8HTMLCanvasElement::getContextCallback):
3427         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
3428         (WebCore::getNamedItems):
3429         (WebCore::V8HTMLCollection::namedPropertyGetter):
3430         (WebCore::V8HTMLCollection::namedItemCallback):
3431         (WebCore::toV8):
3432         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
3433         (WebCore::V8HTMLDocument::getNamedProperty):
3434         (WebCore::V8HTMLDocument::allAccessorGetter):
3435         (WebCore::toV8):
3436         * bindings/v8/custom/V8HTMLElementCustom.cpp:
3437         (WebCore::toV8):
3438         (WebCore::V8HTMLElement::itemValueAccessorGetter):
3439         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
3440         (WebCore::V8HTMLFormElement::indexedPropertyGetter):
3441         (WebCore::V8HTMLFormElement::namedPropertyGetter):
3442         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
3443         (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
3444         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
3445         (WebCore::v8HTMLImageElementConstructorCallback):
3446         * bindings/v8/custom/V8HTMLLinkElementCustom.cpp:
3447         (WebCore::V8HTMLLinkElement::sizesAccessorGetter):
3448         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
3449         (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):