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