Make CachedSVGDocumentReference independent of FilterOperation
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-11-21  Dirk Schulze  <krit@webkit.org>
2
3         Make CachedSVGDocumentReference independent of FilterOperation
4         https://bugs.webkit.org/show_bug.cgi?id=102967
5
6         Reviewed by Antti Koivisto.
7
8         Make CachedSVGDocumentReference independent of FilterOperation to reuse the code for clip-path and masking.
9
10         No new tests, refactoring.
11
12         * GNUmakefile.list.am: Move CachedSVGDocumentReference to it's proper location and it to the projects. 
13         * WebCore.gypi:
14         * WebCore.vcproj/WebCore.vcproj:
15         * WebCore.xcodeproj/project.pbxproj:
16         * css/StyleResolver.cpp:
17         (WebCore::StyleResolver::loadPendingSVGDocuments):
18         (WebCore::StyleResolver::createFilterOperations):
19         * loader/cache/CachedSVGDocumentReference.h: Renamed from Source/WebCore/css/CachedSVGDocumentReference.h.
20         (WebCore):
21         (CachedSVGDocumentReference):
22         (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
23         (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
24         (WebCore::CachedSVGDocumentReference::document):
25         * platform/graphics/filters/FilterOperation.h: Rename data() and setData() to
26             cachedSVGDocumentReference() and its setter. Adapt other classes.
27         (WebCore::FilterOperation::ReferenceFilterOperation::cachedSVGDocumentReference):
28         (WebCore::FilterOperation::ReferenceFilterOperation::setCachedSVGDocumentReference):
29         (ReferenceFilterOperation):
30         * rendering/FilterEffectRenderer.cpp:
31         (WebCore::FilterEffectRenderer::buildReferenceFilter):
32         * rendering/RenderLayerFilterInfo.cpp:
33         (WebCore::RenderLayerFilterInfo::updateReferenceFilterClients):
34
35 2012-11-21  James Simonsen  <simonjam@chromium.org>
36
37         Remove the concept of initiatorDocument from CachedResourceRequest
38         https://bugs.webkit.org/show_bug.cgi?id=102855
39
40         Reviewed by Sam Weinig.
41
42         It turns out this isn't necessary for the new implementation of Resource Timing. Instead,
43         we can get at it from the CachedResourceLoader. I don't think anyone else needed it either.
44
45         No new tests. This was never used.
46
47         * css/CSSFontFaceSrcValue.cpp:
48         (WebCore::CSSFontFaceSrcValue::cachedFont):
49         * css/CSSImageSetValue.cpp:
50         (WebCore::CSSImageSetValue::cachedImageSet):
51         * css/CSSImageValue.cpp:
52         (WebCore::CSSImageValue::cachedImage):
53         * css/StyleRuleImport.cpp:
54         (WebCore::StyleRuleImport::requestStyleSheet):
55         * css/WebKitCSSSVGDocumentValue.cpp:
56         (WebCore::WebKitCSSSVGDocumentValue::load):
57         * css/WebKitCSSShaderValue.cpp:
58         (WebCore::WebKitCSSShaderValue::cachedShader):
59         * html/parser/CSSPreloadScanner.cpp:
60         (WebCore::CSSPreloadScanner::emitRule):
61         * html/parser/HTMLPreloadScanner.cpp:
62         (WebCore::PreloadTask::preload):
63         * loader/cache/CachedResourceRequest.cpp:
64         (WebCore::CachedResourceRequest::setInitiator):
65         * loader/cache/CachedResourceRequest.h:
66         (CachedResourceRequest):
67         * loader/icon/IconLoader.cpp:
68         (WebCore::IconLoader::startLoading):
69
70 2012-11-21  Sheriff Bot  <webkit.review.bot@gmail.com>
71
72         Unreviewed, rolling out r135437.
73         http://trac.webkit.org/changeset/135437
74         https://bugs.webkit.org/show_bug.cgi?id=102986
75
76         This patch causes crash to some layout tests (Requested by
77         jianli on #webkit).
78
79         * dom/NodeRenderingContext.cpp:
80         (WebCore::NodeRenderingContext::createRendererIfNeeded):
81         * rendering/RenderObject.cpp:
82         (WebCore::RenderObject::createObject):
83
84 2012-11-21  Andreas Kling  <akling@apple.com>
85
86         Style sharing: Compare class lists via SpaceSplitString instead of string comparison.
87         <http://webkit.org/b/102982>
88
89         Reviewed by Antti Koivisto.
90
91         Add an operator!= to SpaceSplitString and use that check if two elements are eligible
92         for style sharing instead of comparing the fastGetAttribute(classAttr) return values.
93         This works because SpaceSplitString maps equal strings to the same data internally.
94
95         * css/StyleResolver.cpp:
96         (WebCore::haveIdenticalStyleAffectingAttributes):
97         * dom/SpaceSplitString.h:
98         (WebCore::SpaceSplitString::operator!=):
99         (SpaceSplitString):
100
101 2012-11-21  Sheriff Bot  <webkit.review.bot@gmail.com>
102
103         Unreviewed, rolling out r135338, r135359, and r135378.
104         http://trac.webkit.org/changeset/135338
105         http://trac.webkit.org/changeset/135359
106         http://trac.webkit.org/changeset/135378
107         https://bugs.webkit.org/show_bug.cgi?id=102981
108
109         Likely caused a 10% regression in
110         dromaeo_domcoreattr/dom_attr_getAttribute (Requested by abarth
111         on #webkit).
112
113         * bindings/scripts/CodeGeneratorV8.pm:
114         (GenerateEventConstructorCallback):
115         (ConvertToV8Parameter):
116         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
117         (WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):
118         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
119         (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):
120         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
121         (WebCore::V8TestEventConstructor::constructorCallback):
122         * bindings/scripts/test/V8/V8TestInterface.cpp:
123         (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrSetter):
124         (WebCore::TestInterfaceV8Internal::supplementalStr2AttrSetter):
125         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
126         (WebCore::V8TestInterface::constructorCallback):
127         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
128         (WebCore::V8TestNamedConstructorConstructorCallback):
129         * bindings/scripts/test/V8/V8TestObj.cpp:
130         (WebCore::TestObjV8Internal::staticStringAttrAttrSetter):
131         (WebCore::TestObjV8Internal::stringAttrAttrSetter):
132         (WebCore::TestObjV8Internal::reflectedStringAttrAttrSetter):
133         (WebCore::TestObjV8Internal::reflectedURLAttrAttrSetter):
134         (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrSetter):
135         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetter):
136         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetter):
137         (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
138         (WebCore::TestObjV8Internal::longMethodWithArgsCallback):
139         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
140         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
141         (WebCore::TestObjV8Internal::methodWithOptionalStringCallback):
142         (WebCore::TestObjV8Internal::methodWithOptionalStringIsUndefinedCallback):
143         (WebCore::TestObjV8Internal::methodWithOptionalStringIsNullStringCallback):
144         (WebCore::TestObjV8Internal::overloadedMethod1Callback):
145         (WebCore::TestObjV8Internal::overloadedMethod3Callback):
146         (WebCore::TestObjV8Internal::overloadedMethod11Callback):
147         (WebCore::TestObjV8Internal::overloadedMethod12Callback):
148         (WebCore::TestObjV8Internal::strictFunctionCallback):
149         (WebCore::TestObjV8Internal::variadicStringMethodCallback):
150         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
151         (WebCore::V8TestOverloadedConstructors::constructor4Callback):
152         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
153         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
154         * bindings/v8/V8BindingMacros.h:
155         * bindings/v8/V8StringResource.h:
156         (WebCore::V8Parameter::V8Parameter):
157         (V8Parameter):
158         (WebCore::V8Parameter::prepareBase):
159         (WebCore::V8Parameter::object):
160         (WebCore::::prepare):
161         * bindings/v8/custom/V8ConsoleCustom.cpp:
162         (WebCore::V8Console::profileCallback):
163         (WebCore::V8Console::profileEndCallback):
164         * bindings/v8/custom/V8DOMWindowCustom.cpp:
165         (WebCore::handlePostMessageCallback):
166         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
167         (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
168         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
169         (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
170         * bindings/v8/custom/V8HistoryCustom.cpp:
171         (WebCore::V8History::pushStateCallback):
172         (WebCore::V8History::replaceStateCallback):
173         * bindings/v8/custom/V8IntentCustom.cpp:
174         (WebCore::V8Intent::constructorCallbackCustom):
175         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
176         (WebCore::V8SQLTransaction::executeSqlCallback):
177         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
178         (WebCore::V8SQLTransactionSync::executeSqlCallback):
179         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
180         (WebCore::V8WebGLRenderingContext::getExtensionCallback):
181
182 2012-11-21  Tien-Ren Chen  <trchen@chromium.org>
183
184         Invalidate non-composited content host when page scale factor changes
185         https://bugs.webkit.org/show_bug.cgi?id=100718
186
187         Reviewed by Adam Barth.
188
189         During a scale change, non-composited content layer doesn't get invalidated
190         automatically by the transformation change on RenderView. Need to force
191         update non-composited contents ourself.
192
193         Test: compositing/repaint/page-scale-repaint.html
194
195         * page/Page.cpp:
196         (WebCore::Page::setPageScaleFactor):
197
198 2012-11-21  Ryosuke Niwa  <rniwa@webkit.org>
199
200         Yet another EFL & GTK+ build fix after r135429.
201
202         * html/HTMLPropertiesCollection.cpp:
203         (WebCore::HTMLPropertiesCollection::create):
204
205 2012-11-21  Elliott Sprehn  <esprehn@chromium.org>
206
207         Node::createRenderer should never return null
208         https://bugs.webkit.org/show_bug.cgi?id=102975
209
210         Reviewed by Ojan Vafai.
211
212         Node::createRenderer should never return null, instead Node::rendererIsNeeded
213         should return false if a node doesn't wish to have a renderer. This method
214         never actually returns null right now, but the code makes it look like it
215         could.
216
217         No new tests, just refactoring.
218
219         * dom/NodeRenderingContext.cpp:
220         (WebCore::NodeRenderingContext::createRendererIfNeeded):
221         * rendering/RenderObject.cpp:
222         (WebCore::RenderObject::createObject):
223
224 2012-11-21  Fady Samuel  <fsamuel@chromium.org>
225
226         Clear MousePressed state on context menu to avoid initiating a drag
227         https://bugs.webkit.org/show_bug.cgi?id=101786
228
229         Reviewed by Ojan Vafai.
230
231         If a user initiates a drag via left mouse down, brings up the context menu,
232         and then cancels the context menu while keeping the left mouse button down,
233         then the drag operation will continue. This does not match the platform
234         conventions on Windows, Linux or Mac .
235
236         This change cancels the drag if the context menu is about to be displayed.
237
238         Test: fast/events/context-nodrag.html
239
240         * page/EventHandler.cpp:
241         (WebCore::EventHandler::sendContextMenuEvent):
242
243 2012-11-21  Patrick Gansterer  <paroga@webkit.org>
244
245         Use MIMETypeRegistryWin for WinCE port too
246         https://bugs.webkit.org/show_bug.cgi?id=102977
247
248         Reviewed by Laszlo Gombos.
249
250         r135217 made MIMETypeRegistryWin compile on WinCE too,
251         which allows us to get rid of MIMETypeRegistryWinCE.
252
253         * PlatformWinCE.cmake:
254         * WebCore.gypi:
255         * platform/wince/MIMETypeRegistryWinCE.cpp: Removed.
256
257 2012-11-21  Dan Carney  <dcarney@google.com>
258
259         [V8] Add context checks to WorldContextHandle and V8DOMWindowShell
260         https://bugs.webkit.org/show_bug.cgi?id=101573
261
262         Reviewed by Adam Barth.
263
264         Added a bunch of assertions to ensure the problems with IndexedDB
265         contexts cannot reemerge.
266
267         No new tests. No change in functionality.
268
269         * bindings/v8/V8DOMWindowShell.cpp:
270         (WebCore):
271         (WebCore::V8DOMWindowShell::assertContextHasCorrectPrototype):
272         * bindings/v8/V8DOMWindowShell.h:
273         (V8DOMWindowShell):
274         (WebCore::V8DOMWindowShell::isolated):
275         * bindings/v8/WorldContextHandle.cpp:
276         (WebCore::WorldContextHandle::WorldContextHandle):
277
278 2012-11-21  Elliott Sprehn  <esprehn@chromium.org>
279
280         Remove unnecessary ternaries in createRendererIfNeeded
281         https://bugs.webkit.org/show_bug.cgi?id=102974
282
283         Reviewed by Ojan Vafai.
284
285         parentRenderer, nextRenderer and previousRenderer all handle flow
286         threads automatically so there's no reason to duplicate the check in 
287         createRendererIfNeeded.
288
289         Note that while these methods first check the node for a renderer and
290         then delegate to the flow thread the node never has a renderer when
291         calling createRendererIfNeeded per the assertion at the top so this
292         change is equivalent.
293
294         No new tests, just refactoring.
295
296         * dom/NodeRenderingContext.cpp:
297         (WebCore::NodeRenderingContext::createRendererIfNeeded):
298
299 2012-11-21  Ryosuke Niwa  <rniwa@webkit.org>
300
301         EFL and GTK+ build fix after r135429.
302
303         * dom/Element.cpp:
304         (WebCore::ElementRareData::ensureCachedHTMLCollection):
305
306 2012-11-20  Ryosuke Niwa  <rniwa@webkit.org>
307
308         HTMLCollection should use the same storage as DynamicNodeList
309         https://bugs.webkit.org/show_bug.cgi?id=102886
310
311         Reviewed by Antti Koivisto.
312
313         This patch removes ElementRareData::m_collection. HTMLCollections are now held by
314         NodeListNodeData in NodeRareData like DynamicNodeLists. This simplifies several
315         Element and Node functions where we used to call into both ElementRareData and
316         NodeRareData to invalidate caches.
317
318         This is a refactoring and there should be no behavioral change.
319
320         * dom/DynamicNodeList.h:
321         * dom/Element.cpp:
322         (WebCore::ElementRareData::ensureCachedHTMLCollection):
323         * dom/ElementRareData.cpp:
324         (WebCore::ElementRareData::reportMemoryUsage):
325         * dom/ElementRareData.h:
326         (ElementRareData):
327         (WebCore::ElementRareData::cachedHTMLCollection):
328         (WebCore::ElementRareData::removeCachedHTMLCollection):
329         * dom/Node.cpp:
330         (WebCore::Node::invalidateNodeListCachesInAncestors):
331         * dom/NodeRareData.h:
332         (NodeListsNodeData):
333         (WebCore::NodeListsNodeData::addCacheWithAtomicName):
334         (WebCore::NodeListsNodeData::cacheWithAtomicName):
335         (WebCore::NodeListsNodeData::removeCacheWithAtomicName):
336         (WebCore::NodeListsNodeData::adoptTreeScope):
337         (WebCore::NodeListsNodeData::namedNodeListKey):
338         * dom/TreeScopeAdopter.cpp:
339         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
340         * html/HTMLFormControlsCollection.cpp:
341         (WebCore::HTMLFormControlsCollection::create):
342         * html/HTMLFormControlsCollection.h:
343         (HTMLFormControlsCollection):
344         * html/HTMLOptionsCollection.cpp:
345         (WebCore::HTMLOptionsCollection::create):
346         * html/HTMLOptionsCollection.h:
347         (HTMLOptionsCollection::create):
348         * html/HTMLPropertiesCollection.h:
349         (HTMLPropertiesCollection::create):
350         * html/HTMLTableRowsCollection.cpp:
351         (WebCore::HTMLTableRowsCollection::create):
352         * html/HTMLTableRowsCollection.h:
353         (HTMLTableRowsCollection):
354
355 2012-11-21  Andreas Kling  <akling@apple.com>
356
357         Update incorrect assertion in ImmutableElementAttributeData(MutableElementAttributeData).
358         <http://webkit.org/b/102972>
359
360         Reviewed by Antti Koivisto.
361
362         Manipulation by editing code may cause an element to have mutable inline style, and this is fine.
363
364         Change the assertion to confirm that the inline style doesn't have a CSSOM wrapper attached,
365         which is where real problems would happen. 
366
367         Fixes an assertion on editing/undo/replace-by-span-then-remove.html
368
369         * dom/ElementAttributeData.cpp:
370         (WebCore::ImmutableElementAttributeData::ImmutableElementAttributeData):
371
372 2012-11-21  Kentaro Hara  <haraken@chromium.org>
373
374         Remove $outputDir and $outputHeadersDir from global variables of code generators
375         https://bugs.webkit.org/show_bug.cgi?id=102492
376
377         Reviewed by Adam Barth.
378
379         $outputDir and $outputHeadersDir are used in WriteData() only.
380         We don't need to use global variables for them.
381
382         No tests. No change in behavior.
383
384         * bindings/scripts/CodeGenerator.pm:
385         (ProcessDocument):
386         (FileNamePrefix):
387         * bindings/scripts/CodeGeneratorCPP.pm:
388         (new):
389         (GenerateInterface):
390         (WriteData):
391         * bindings/scripts/CodeGeneratorGObject.pm:
392         (new):
393         (WriteData):
394         (GenerateInterface):
395         * bindings/scripts/CodeGeneratorJS.pm:
396         (new):
397         (GenerateInterface):
398         (WriteData):
399         * bindings/scripts/CodeGeneratorObjC.pm:
400         (new):
401         (GenerateInterface):
402         (WriteData):
403         * bindings/scripts/CodeGeneratorV8.pm:
404         (new):
405         (GenerateInterface):
406         (WriteData):
407
408 2012-11-21  Joshua Bell  <jsbell@chromium.org>
409
410         Remove IDBDatabaseException
411         https://bugs.webkit.org/show_bug.cgi?id=102514
412
413         Reviewed by Adam Barth.
414
415         After the WebKit implementation landed, the IndexedDB spec changed from defining new
416         exception codes with constants hanging off an interface to using DOM4-styled named
417         DOMExceptions. Remove the IDBDatabaseException interface and set codes for IDB-specific
418         exceptions to 0. (The .idl file is retained pending general ExceptionCode cleanup.)
419
420         Also remove IDBRequest.errorCode which was used for reporting asynchronous errors;
421         IDBRequest.error - a DOMError - should be used instead.
422
423         No new tests - covered by plenty of existing tests which have been updated.
424
425         * Modules/indexeddb/DOMWindowIndexedDatabase.idl: Don't expose the interface.
426         * Modules/indexeddb/IDBCursor.idl: Remove reference to IDBDatabaseException.
427         * Modules/indexeddb/IDBDatabase.idl: Ditto.
428         * Modules/indexeddb/IDBDatabaseException.cpp:
429         (IDBDatabaseExceptionNameDescription): Use either a DOMException code or 0.
430         (WebCore::IDBDatabaseException::initializeDescription):
431         (WebCore::IDBDatabaseException::getLegacyErrorCode):
432         * Modules/indexeddb/IDBFactory.idl: Remove reference to IDBDatabaseException.
433         * Modules/indexeddb/IDBIndex.idl: Ditto.
434         * Modules/indexeddb/IDBKeyRange.idl: Ditto.
435         * Modules/indexeddb/IDBObjectStore.idl: Ditto.
436         * Modules/indexeddb/IDBRequest.idl: Ditto.
437         * Modules/indexeddb/IDBTransaction.idl: Ditto.
438         * Modules/indexeddb/WorkerContextIndexedDatabase.idl: Don't expose the interface.
439         * bindings/v8/IDBBindingUtilities.cpp: Remove unneeded #include.
440
441 2012-11-21  W. James MacLean  <wjmaclean@chromium.org>
442
443         [chromium] Fix indenting in RenderThemeChromiumSkia.h.
444         https://bugs.webkit.org/show_bug.cgi?id=102965
445
446         Reviewed by Adam Barth.
447
448         Much of RenderThemeChromiumSkia.h was indented too far, making the
449         file confusing to read. This CL removes the extra indents.
450
451         * rendering/RenderThemeChromiumSkia.h:
452         (RenderThemeChromiumSkia):
453
454 2012-11-21  Andreas Kling  <akling@apple.com>
455
456         Make it possible for elements with different tag names to share attribute data.
457         <http://webkit.org/b/102845>
458
459         Reviewed by Antti Koivisto.
460
461         Allow all elements to share ElementAttributeData with one another. This means that the elements
462         in this hypothetical markup will all point to the same attribute data:
463
464             <div class="foo">
465                 <span class="foo">
466                     <hr class="foo"/>
467                 </span>
468             </div>
469
470         This optimization happens at the expense of an old one. We no longer share attribute data
471         between elements that have presentation attributes, since they map to different CSS properties
472         depending on what tag they're attached to. These are mostly used in ye olde web 1.0 content
473         though, and we should prefer optimizing in favor of modern markup. The global cache for
474         presentation attribute style in StyledElement.cpp still prevents redundant parsing.
475
476         On the upside, excluding elements with presentation attributes from the data cache means that
477         we can move one pointer (m_presentationAttributeStyle) from ImmutableElementAttributeData
478         to MutableElementAttributeData.
479
480         800kB progression on Membuster3.
481
482         * dom/Document.h:
483         * dom/Document.cpp:
484         (WebCore::ImmutableAttributeDataCacheKey::ImmutableAttributeDataCacheKey):
485         (WebCore::ImmutableAttributeDataCacheKey::operator!=):
486         (WebCore::ImmutableAttributeDataCacheKey::hash):
487         (ImmutableAttributeDataCacheKey):
488         (WebCore::Document::cachedImmutableAttributeData):
489         * dom/Element.cpp:
490         (WebCore::Element::parserSetAttributes):
491
492             Don't use the element's tag name in the key for the immutable attribute data cache.
493
494         (WebCore::Element::cloneAttributesFromElement):
495
496             Prevent cloneNode() from converting mutable attribute data to immutable if it has
497             presentation attributes.
498
499         * dom/ElementAttributeData.cpp:
500         (WebCore::ImmutableElementAttributeData::ImmutableElementAttributeData):
501
502             Add an assertion that mutable-to-immutable conversion never happens with presentation
503             attribute style present.
504
505         (WebCore::ElementAttributeData::ElementAttributeData):
506         (WebCore::MutableElementAttributeData::MutableElementAttributeData):
507         (WebCore::ElementAttributeData::reportMemoryUsage):
508         * dom/ElementAttributeData.h:
509         (ElementAttributeData):
510         (MutableElementAttributeData):
511         (WebCore::ElementAttributeData::presentationAttributeStyle):
512         (WebCore):
513         (WebCore::ElementAttributeData::setPresentationAttributeStyle):
514
515             Move the RefPtr<StylePropertySet> that holds presentation attribute-derived style
516             from the common ElementAttributeData base class to MutableElementAttributeData.
517
518         * dom/StyledElement.cpp:
519         (WebCore::StyledElement::attributeChanged):
520
521             Always dirty the presentation attribute style when a presentation attribute changes.
522
523         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
524
525             Force promotion to mutable attribute data when it turns out that we need to hang a
526             StylePropertySet with the presentation attribute style off of it.
527
528 2012-11-21  Antti Koivisto  <antti@apple.com>
529
530         Replace NodeRendererFactory class with a function
531         https://bugs.webkit.org/show_bug.cgi?id=102950
532
533         Reviewed by Andreas Kling.
534
535         Simplify the code by turning NodeRendererFactory single-use class into function of NodeRenderingContext.
536
537         * dom/Node.cpp:
538         (WebCore::Node::createRendererIfNeeded):
539         * dom/NodeRenderingContext.cpp:
540         (WebCore::NodeRenderingContext::NodeRenderingContext):
541         (WebCore):
542         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
543         (WebCore::NodeRenderingContext::createRendererIfNeeded):
544         * dom/NodeRenderingContext.h:
545         (NodeRenderingContext):
546         (WebCore::NodeRenderingContext::style):
547         (WebCore):
548
549 2012-11-21  W. James MacLean  <wjmaclean@chromium.org>
550
551         [chromium] Change default tap highlight color for Chromium Windows & Linux.
552         https://bugs.webkit.org/show_bug.cgi?id=102939
553
554         Reviewed by Adam Barth.
555
556         Change default tap highlight colour on Chromium Win/Linux to be 18% black.
557
558         * rendering/RenderThemeChromiumSkia.h:
559         (RenderThemeChromiumSkia): Override platformTapHighlightColor() to change default highlight colour.
560
561 2012-11-21  Tony Chang  <tony@chromium.org>
562
563         Relayout the slider track when a data list is set
564         https://bugs.webkit.org/show_bug.cgi?id=102851
565
566         Reviewed by Ojan Vafai.
567
568         Previously, we would relayout the <input>.  Once we fix bug 102352, this
569         causes the slider track to not relayout.  It should relayout because it
570         draws the data list tick marks and needs to provide space for them.
571
572         No new tests, not testable until bug 102352 is fixed. Specifically,
573         fast/forms/datalist/update-range-with-datalist.html reveals the bug.
574
575         * html/RangeInputType.cpp:
576         (WebCore::RangeInputType::listAttributeTargetChanged):
577
578 2012-11-21  Kevin Ellis  <kevers@chromium.org>
579
580         [chromium] Add flag to enable/disable touch adjustment at runtime.
581         https://bugs.webkit.org/show_bug.cgi?id=102534
582
583         Reviewed by Antonio Gomes.
584
585         Add setting for enabling or disabling touch adjustment.  Note that for
586         touch adjustment to apply, the compile flag must also be enabled.  A
587         compile only option is insufficient as it does not allow developers to
588         quickly test the impact of touch adjustemnt without recompiling.  Nor
589         does it allow end users to disable touch adjustemnt if they find that
590         touch adjustment is not working well for a particular site.
591
592         No new tests required.
593
594         * page/EventHandler.cpp:
595         (WebCore::EventHandler::handleGestureEvent): Move enable check to adjustGesturePosition.
596         (WebCore::EventHandler::handleGestureTap): Move enable check to adjustGesturePosition.
597         (WebCore::EventHandler::shouldApplyTouchAdjustment): Checks if touch adjustment is enabled.
598         (WebCore):
599         (WebCore::EventHandler::adjustGesturePosition): Add check for enabling of touch adjustment.
600         (WebCore::EventHandler::sendContextMenuEventForGesture): Move enable check to adjustGesturePosition.
601         * page/EventHandler.h:
602         (EventHandler):
603         * page/Settings.in:
604
605 2012-11-21  Philippe Normand  <pnormand@igalia.com>
606
607         Unreviewed, build fix after r135410.
608
609         * html/track/InbandTextTrack.cpp:
610         (WebCore::InbandTextTrack::addCue): Prevent unused parameter error.
611
612 2012-11-21  Andrey Lushnikov  <lushnikov@chromium.com>
613
614         Web Inspector: Ctrl+A closes breakpoint condition editor
615         https://bugs.webkit.org/show_bug.cgi?id=102906
616
617         Reviewed by Pavel Feldman.
618
619         Check if e.target has no ancestors with className
620         "webkit-line-decorations" in DefaultTextEditor._handleKeyDown
621
622         * inspector/front-end/DefaultTextEditor.js:
623         (WebInspector.DefaultTextEditor.prototype._handleKeyDown): Add check
624
625 2012-11-21  Tom Hudson  <tomhudson@chromium.org>
626
627         Avoid creating degenerate cubics at corners of rounded rects.
628         https://bugs.webkit.org/show_bug.cgi?id=102945
629
630         Reviewed by Stephen White.
631
632         Covered by existing layout tests.
633
634         * platform/graphics/Path.cpp:
635         (Path::addBeziersForRoundedRect):
636
637 2012-11-21  Eric Carlson  <eric.carlson@apple.com>
638
639         In-band text tracks infrastructure
640         https://bugs.webkit.org/show_bug.cgi?id=102830
641
642         Reviewed by Philippe Normand.
643
644         Add the infrastructure necessary to allow a port-specific media engine to expose in-band text
645         tracks.
646
647         No new tests, this patch only adds plumbing. Existing tests verify that these changes don't
648         break existing functionality.
649
650         * CMakeLists.txt: Add new project files.
651         * GNUmakefile.list.am: Ditto.
652         * Target.pri: Ditto.
653         * WebCore.gypi: Ditto.
654         * WebCore.xcodeproj/project.pbxproj: Ditto.
655
656         * html/HTMLMediaElement.cpp:
657         (WebCore::HTMLMediaElement::setReadyState): Call processInbandTextTracks when readyState reaches
658             HAVE_METADATA
659         (WebCore::HTMLMediaElement::processInbandTextTracks): Fetch the in-band text tracks from the 
660             media player and processes them.
661         * html/HTMLMediaElement.h:
662
663         * html/track/InbandTextTrack.cpp: Added.
664         * html/track/InbandTextTrack.h: Added.
665         * html/track/InbandTextTrackPrivate.h: Added.
666
667         * html/track/TextTrack.h:
668         (TextTrack):
669         (WebCore::TextTrack::clearClient): Remove virtual, it is unnecessary
670         (WebCore::TextTrack::mode): Make virtual so derived classes can override.
671         (WebCore::TextTrack::setMode): Ditto.
672
673         * html/track/TextTrackList.cpp:
674         (TextTrackList::length): Update to deal with in-band tracks.
675         (TextTrackList::getTrackIndex): Ditto.
676         (TextTrackList::getTrackIndexRelativeToRenderedTracks): Ditto.
677         (TextTrackList::item): Ditto.
678         (TextTrackList::invalidateTrackIndexesAfterTrack): New, invalidate the cached track indexes of
679             all tracks after another.
680         (TextTrackList::append): Update to deal with in-band tracks.
681         (TextTrackList::remove): Update to deal with in-band tracks.
682         (TextTrackList::scheduleAddTrackEvent): Remove typo.
683         * html/track/TextTrackList.h:
684
685         * platform/graphics/MediaPlayer.cpp:
686         (WebCore::MediaPlayer::getTextTracks): New, pass through to the media engine.
687         (WebCore::MediaPlayer::setTextTrackClient):
688         * platform/graphics/MediaPlayer.h:
689
690         * platform/graphics/MediaPlayerPrivate.h:
691         (WebCore::MediaPlayerPrivateInterface::setPreload): Cleanup.
692         (WebCore::MediaPlayerPrivateInterface::sourceEndOfStream): Ditto.
693         (WebCore::MediaPlayerPrivateInterface::getTextTracks): New client method.
694         (WebCore::MediaPlayerPrivateInterface::setTextTrackClient): Ditto.
695
696 2012-11-21  Kai Koehne  <kai.koehne@digia.com>
697
698         [Qt] MinGW: Explicitly add OpenGL library dependencies
699         https://bugs.webkit.org/show_bug.cgi?id=102924
700
701         Reviewed by Simon Hausmann.
702
703         Adding the dependencies to WebKit1 is too late, because linking will have already failed. Also make sure that 
704         the we link against OpenGLES1 e.g. for Angle.
705
706         * WebCore.pri:
707
708 2012-11-21  Allan Sandfeld Jensen  <allan.jensen@digia.com>
709
710         Disambiguate innerNodeFramePoint and mainFramePoint
711         https://bugs.webkit.org/show_bug.cgi?id=98139
712
713         Reviewed by Julien Chaffraix.
714
715         Splits the point() method in HitTestResult into two, innerNodeFramePoint and mainFramePoint().
716         To do this HitTestResult no longer inherits publically from HitTestLocation, which should also
717         help to later separate the two classes completely.
718
719         Many of the call-sites of hitTestResultAtPoint confuses which coordinates the point is in.
720         These have not have been fixed in this patch, and they should be audited by the individual ports.
721
722         * WebCore.exp.in:
723         * dom/Document.cpp:
724         (WebCore::Document::nodesFromRect):
725         * page/EventHandler.cpp:
726         (WebCore::EventHandler::eventMayStartDrag):
727         (WebCore::EventHandler::hitTestResultAtPoint):
728             Set and maintain pointInMainFrame on the HitTestResult.
729         * rendering/HitTestResult.cpp:
730         (WebCore::HitTestResult::HitTestResult):
731             Construct pointInMainFrame as a copy of pointInInnerNodeFrame. This is correct
732             for all hit-tests outside of the recursion in EventHandler::hitTestResultAtPoint.
733         (WebCore::HitTestResult::operator=):
734         (WebCore::HitTestResult::innerNodeFrame):
735         (WebCore::HitTestResult::append):
736         * rendering/HitTestResult.h:
737         (WebCore::HitTestLocation::point):
738         (HitTestResult):
739             Inherits protected now from HitTestLocation to avoid exposing the ambiguous
740             point() and roundedPoint() methods. 
741             HitTestResult will be split completely from HitTestLocation in a later patch.
742         (WebCore::HitTestResult::isRectBasedTest):
743         (WebCore::HitTestResult::pointInMainFrame):
744         (WebCore::HitTestResult::roundedPointInMainFrame):
745         (WebCore::HitTestResult::setPointInMainFrame):
746         (WebCore::HitTestResult::pointInInnerNodeFrame):
747         (WebCore::HitTestResult::roundedPointInInnerNodeFrame):
748         (WebCore::HitTestResult::localPoint):
749         (WebCore::HitTestResult::setLocalPoint):
750         * rendering/RenderLayer.cpp:
751         (WebCore::RenderLayer::hitTest):
752
753 2012-11-21  Sheriff Bot  <webkit.review.bot@gmail.com>
754
755         Unreviewed, rolling out r135383.
756         http://trac.webkit.org/changeset/135383
757         https://bugs.webkit.org/show_bug.cgi?id=102935
758
759         IDBRequestTest.* unit tests are failing (Requested by yurys on
760         #webkit).
761
762         * bindings/v8/V8DOMWindowShell.cpp:
763         (WebCore::V8DOMWindowShell::installDOMWindow):
764         * bindings/v8/V8DOMWindowShell.h:
765         (V8DOMWindowShell):
766         (WebCore::V8DOMWindowShell::isolated):
767         * bindings/v8/WorldContextHandle.cpp:
768         (WebCore::WorldContextHandle::WorldContextHandle):
769
770 2012-11-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
771
772         [EFL][WK2] Support Context Menu
773         https://bugs.webkit.org/show_bug.cgi?id=96200
774
775         Reviewed by Laszlo Gombos.
776
777         * page/ContextMenuController.cpp:
778         (WebCore::ContextMenuController::populate):
779         EFL port also doesn't hide unavailable menus as gtk port.
780
781 2012-11-21  Florin Malita  <fmalita@chromium.org>
782
783         [Chromium] Unreviewed Mac build fix after http://trac.webkit.org/changeset/135390.
784
785         * platform/graphics/skia/GraphicsContextSkia.cpp:
786         (WebCore::drawInnerPath):
787
788 2012-11-21  Florin Malita  <fmalita@chromium.org>
789
790         [Skia] Encapsulate access to PlatformContextSkia's SkCanvas
791         https://bugs.webkit.org/show_bug.cgi?id=102694
792
793         Reviewed by Stephen White.
794
795         Add SkCanvas-equivalent methods to PlatformContextSkia, and refactor direct canvas call
796         sites to use these wrappers instead. This reduces the number of canvas() users from 90+
797         to 22 (mostly theme/ui code).
798
799         No new tests: refactoring only.
800
801         * platform/chromium/PlatformThemeChromiumLinux.cpp:
802         (WebCore::PlatformThemeChromiumLinux::paintArrowButton):
803         * platform/graphics/chromium/FontChromiumWin.cpp:
804         * platform/graphics/chromium/TransparencyWin.cpp:
805         (WebCore::TransparencyWin::computeLayerSize):
806         (WebCore::TransparencyWin::compositeOpaqueComposite):
807         (WebCore::TransparencyWin::compositeTextComposite):
808         (WebCore::TransparencyWin::makeLayerOpaque):
809         * platform/graphics/filters/skia/FEBlendSkia.cpp:
810         (WebCore::FEBlend::platformApplySkia):
811         * platform/graphics/filters/skia/FEColorMatrixSkia.cpp:
812         (WebCore::FEColorMatrix::platformApplySkia):
813         * platform/graphics/filters/skia/FEComponentTransferSkia.cpp:
814         (WebCore::FEComponentTransfer::platformApplySkia):
815         * platform/graphics/filters/skia/FELightingSkia.cpp:
816         (WebCore::FELighting::platformApplySkia):
817         * platform/graphics/harfbuzz/FontHarfBuzz.cpp:
818         (WebCore::Font::drawGlyphs):
819         (WebCore::Font::drawComplexText):
820         * platform/graphics/skia/FontSkia.cpp:
821         (WebCore::Font::drawGlyphs):
822         * platform/graphics/skia/GraphicsContextSkia.cpp:
823         (WebCore::GraphicsContext::addInnerRoundedRectClip):
824         (WebCore::GraphicsContext::clearRect):
825         (WebCore::GraphicsContext::clip):
826         (WebCore::GraphicsContext::clipOut):
827         (WebCore::GraphicsContext::clipPath):
828         (WebCore::GraphicsContext::concatCTM):
829         (WebCore::GraphicsContext::setCTM):
830         (WebCore::GraphicsContext::drawConvexPolygon):
831         (WebCore::GraphicsContext::clipConvexPolygon):
832         (WebCore::GraphicsContext::drawEllipse):
833         (WebCore::drawOuterPath):
834         (WebCore::GraphicsContext::drawLine):
835         (WebCore::GraphicsContext::drawLineForDocumentMarker):
836         (WebCore::GraphicsContext::drawLineForText):
837         (WebCore::GraphicsContext::fillPath):
838         (WebCore::GraphicsContext::fillRect):
839         (WebCore::GraphicsContext::fillRoundedRect):
840         (WebCore::GraphicsContext::getCTM):
841         (WebCore::GraphicsContext::scale):
842         (WebCore::GraphicsContext::strokeArc):
843         (WebCore::GraphicsContext::strokePath):
844         (WebCore::GraphicsContext::strokeRect):
845         (WebCore::GraphicsContext::rotate):
846         (WebCore::GraphicsContext::translate):
847         (WebCore::GraphicsContext::platformFillEllipse):
848         (WebCore::GraphicsContext::platformStrokeEllipse):
849         * platform/graphics/skia/ImageBufferSkia.cpp:
850         (WebCore::getImageData):
851         (WebCore::ImageBuffer::getUnmultipliedImageData):
852         (WebCore::ImageBuffer::getPremultipliedImageData):
853         (WebCore::ImageBuffer::putByteArray):
854         (WebCore::ImageBuffer::toDataURL):
855         * platform/graphics/skia/ImageSkia.cpp:
856         (WebCore::drawResampledBitmap):
857         (WebCore::hasNon90rotation):
858         (WebCore::paintSkBitmap):
859         (WebCore::Image::drawPattern):
860         * platform/graphics/skia/PlatformContextSkia.cpp:
861         (WebCore::PlatformContextSkia::save):
862         (WebCore::PlatformContextSkia::beginLayerClippedToImage):
863         (WebCore::PlatformContextSkia::restore):
864         (WebCore::PlatformContextSkia::drawRect):
865         (WebCore::PlatformContextSkia::couldUseLCDRenderedText):
866         * platform/graphics/skia/PlatformContextSkia.h:
867         (PlatformContextSkia):
868         (WebCore::PlatformContextSkia::layerBitmap):
869         (WebCore):
870         (WebCore::PlatformContextSkia::readPixels):
871         (WebCore::PlatformContextSkia::writePixels):
872         (WebCore::PlatformContextSkia::isDrawingToLayer):
873         (WebCore::PlatformContextSkia::isVector):
874         (WebCore::PlatformContextSkia::clipPath):
875         (WebCore::PlatformContextSkia::clipRect):
876         (WebCore::PlatformContextSkia::getClipBounds):
877         (WebCore::PlatformContextSkia::setMatrix):
878         (WebCore::PlatformContextSkia::getTotalMatrix):
879         (WebCore::PlatformContextSkia::concat):
880         (WebCore::PlatformContextSkia::rotate):
881         (WebCore::PlatformContextSkia::scale):
882         (WebCore::PlatformContextSkia::translate):
883         (WebCore::PlatformContextSkia::drawBitmap):
884         (WebCore::PlatformContextSkia::drawBitmapRect):
885         (WebCore::PlatformContextSkia::drawOval):
886         (WebCore::PlatformContextSkia::drawPath):
887         (WebCore::PlatformContextSkia::drawPoints):
888         (WebCore::PlatformContextSkia::drawRect):
889         (WebCore::PlatformContextSkia::drawIRect):
890         (WebCore::PlatformContextSkia::drawPosText):
891         (WebCore::PlatformContextSkia::drawPosTextH):
892         (WebCore::PlatformContextSkia::drawTextOnPath):
893         * platform/graphics/skia/SkiaFontWin.cpp:
894         (WebCore::skiaDrawText):
895         (WebCore::paintSkiaText):
896         * platform/graphics/skia/SkiaUtils.cpp:
897         (WebCore::ClipRectToCanvas):
898         * platform/graphics/skia/SkiaUtils.h:
899         (WebCore):
900
901 2012-11-21  Carlos Garcia Campos  <cgarcia@igalia.com>
902
903         Reset the slider thumb location before every layout of the slider container
904         https://bugs.webkit.org/show_bug.cgi?id=102817
905
906         Reviewed by Tony Chang.
907
908         The location of the slider thumb is set by the slider container
909         assuming the slider thumb has been laid out. When this happens,
910         the location of the slider thumb is reset during the layout
911         ignoring any previous location set. If the slider thumb is not
912         laid out, the previous value is added to the new one by the slider
913         container.
914
915         * html/shadow/SliderThumbElement.cpp:
916         (WebCore::RenderSliderContainer::layout): Reset the location of
917         the slider thumb before calling RenderFlexibleBox::layout().
918
919 2012-11-21  Kentaro Hara  <haraken@chromium.org>
920
921         Unreviewed, rolling out r135340.
922         http://trac.webkit.org/changeset/135340
923         https://bugs.webkit.org/show_bug.cgi?id=102492
924
925         It broke Safari's internal build
926
927         * bindings/scripts/CodeGenerator.pm:
928         (ProcessDocument):
929         (FileNamePrefix):
930         * bindings/scripts/CodeGeneratorCPP.pm:
931         (new):
932         (GenerateInterface):
933         (WriteData):
934         * bindings/scripts/CodeGeneratorGObject.pm:
935         (new):
936         (WriteData):
937         (GenerateInterface):
938         * bindings/scripts/CodeGeneratorJS.pm:
939         (new):
940         (GenerateInterface):
941         (WriteData):
942         * bindings/scripts/CodeGeneratorObjC.pm:
943         (new):
944         (GenerateInterface):
945         (WriteData):
946         * bindings/scripts/CodeGeneratorV8.pm:
947         (new):
948         (GenerateInterface):
949         (WriteData):
950
951 2012-11-21  Pavel Feldman  <pfeldman@chromium.org>
952
953         Web Inspector: reparenting view does not detach from the previous parent.
954         https://bugs.webkit.org/show_bug.cgi?id=102902
955
956         Reviewed by Vsevolod Vlasov.
957
958         * inspector/front-end/View.js:
959         (WebInspector.View.prototype.show):
960
961 2012-11-21  Ilya Tikhonovsky  <loislo@chromium.org>
962
963         Web Inspector: NMI add instrumentation to widely used ActiveDOMObjects. XMLHttpRequest, Prerenderer, HTMLMediaElement and DOMTimer.
964         https://bugs.webkit.org/show_bug.cgi?id=102818
965
966         Reviewed by Vsevolod Vlasov.
967
968         Our test bot counts pointers which don't match with objects allocated by tcmalloc.
969         This counter becomes nonzero after instrumenting ActiveDOMObject class.
970         It happens because it is the base class for many other classes (~30).
971         And almost all these classes use multiple inheritance.
972
973         * dom/Document.cpp:
974         (WebCore::Document::reportMemoryUsage):
975         * dom/DocumentEventQueue.cpp:
976         * html/HTMLMediaElement.cpp:
977         (WebCore::HTMLMediaElement::reportMemoryUsage):
978         (WebCore):
979         * html/HTMLMediaElement.h:
980         * loader/Prerenderer.cpp:
981         (WebCore::Prerenderer::reportMemoryUsage):
982         (WebCore):
983         * loader/Prerenderer.h:
984         (Prerenderer):
985         * page/DOMTimer.cpp:
986         (WebCore::DOMTimer::reportMemoryUsage):
987         (WebCore):
988         * page/DOMTimer.h:
989         (DOMTimer):
990         * xml/XMLHttpRequest.cpp:
991         (WebCore::XMLHttpRequest::reportMemoryUsage):
992         (WebCore):
993         * xml/XMLHttpRequest.h:
994         (XMLHttpRequest):
995
996 2012-11-21  Dan Carney  <dcarney@google.com>
997
998         [V8] Add context checks to WorldContextHandle and V8DOMWindowShell
999         https://bugs.webkit.org/show_bug.cgi?id=101573
1000
1001         Reviewed by Adam Barth.
1002
1003         Added a bunch of assertions to ensure the problems with IndexedDB
1004         contexts cannot reemerge.
1005
1006         No new tests. No change in functionality.
1007
1008         * bindings/v8/V8DOMWindowShell.cpp:
1009         (WebCore):
1010         (WebCore::V8DOMWindowShell::assertContextHasCorrectPrototype):
1011         * bindings/v8/V8DOMWindowShell.h:
1012         (V8DOMWindowShell):
1013         (WebCore::V8DOMWindowShell::isolated):
1014         * bindings/v8/WorldContextHandle.cpp:
1015         (WebCore::WorldContextHandle::WorldContextHandle):
1016
1017 2012-11-21  Harald Alvestrand  <hta@google.com>
1018
1019         WebMediaStreamComponent: Add assignment and copy operators
1020         https://bugs.webkit.org/show_bug.cgi?id=102915
1021
1022         Reviewed by Adam Barth.
1023
1024         Tests that use this functionality are being submitted to Chrome.
1025
1026         * platform/chromium/support/WebMediaStreamComponent.cpp:
1027         (WebKit::WebMediaStreamComponent::assign):
1028         (WebKit):
1029         * platform/chromium/support/WebMediaStreamDescriptor.cpp:
1030
1031 2012-11-21  Kentaro Hara  <haraken@chromium.org>
1032
1033         [V8] Remove STRING_TO_V8PARAMETER_EXCEPTION_BLOCK()
1034         https://bugs.webkit.org/show_bug.cgi?id=102917
1035
1036         Reviewed by Adam Barth.
1037
1038         Now EXCEPTION_BLOCK() and STRING_TO_V8PARAMETER_EXCEPTION_BLOCK()
1039         are equivalent. We can remove STRING_TO_V8PARAMETER_EXCEPTION_BLOCK().
1040         To make a code generate change smaller, this patch also renames
1041         STRING_TO_V8PARAMETER_EXCEPTION_BLOCK_VOID() to EXCEPTION_BLOCK_VOID().
1042         I will rename these macros in a follow-up patch.
1043
1044         No tests. No change in behavior.
1045
1046         * bindings/scripts/CodeGeneratorV8.pm:
1047         (GenerateEventConstructorCallback):
1048         (ConvertToV8Parameter):
1049         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1050         (WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):
1051         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1052         (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):
1053         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1054         (WebCore::V8TestEventConstructor::constructorCallback):
1055         * bindings/scripts/test/V8/V8TestInterface.cpp:
1056         (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrSetter):
1057         (WebCore::TestInterfaceV8Internal::supplementalStr2AttrSetter):
1058         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
1059         (WebCore::V8TestInterface::constructorCallback):
1060         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1061         (WebCore::V8TestNamedConstructorConstructorCallback):
1062         * bindings/scripts/test/V8/V8TestObj.cpp:
1063         (WebCore::TestObjV8Internal::staticStringAttrAttrSetter):
1064         (WebCore::TestObjV8Internal::stringAttrAttrSetter):
1065         (WebCore::TestObjV8Internal::reflectedStringAttrAttrSetter):
1066         (WebCore::TestObjV8Internal::reflectedURLAttrAttrSetter):
1067         (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrSetter):
1068         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetter):
1069         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetter):
1070         (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
1071         (WebCore::TestObjV8Internal::longMethodWithArgsCallback):
1072         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
1073         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
1074         (WebCore::TestObjV8Internal::methodWithOptionalStringCallback):
1075         (WebCore::TestObjV8Internal::methodWithOptionalStringIsUndefinedCallback):
1076         (WebCore::TestObjV8Internal::methodWithOptionalStringIsNullStringCallback):
1077         (WebCore::TestObjV8Internal::overloadedMethod1Callback):
1078         (WebCore::TestObjV8Internal::overloadedMethod3Callback):
1079         (WebCore::TestObjV8Internal::overloadedMethod11Callback):
1080         (WebCore::TestObjV8Internal::overloadedMethod12Callback):
1081         (WebCore::TestObjV8Internal::strictFunctionCallback):
1082         (WebCore::TestObjV8Internal::variadicStringMethodCallback):
1083         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1084         (WebCore::V8TestOverloadedConstructors::constructor4Callback):
1085         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1086         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
1087         * bindings/v8/V8BindingMacros.h:
1088         * bindings/v8/V8StringResource.h:
1089         (V8Parameter):
1090         * bindings/v8/custom/V8ConsoleCustom.cpp:
1091         (WebCore::V8Console::profileCallback):
1092         (WebCore::V8Console::profileEndCallback):
1093         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1094         (WebCore::handlePostMessageCallback):
1095         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
1096         (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
1097         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
1098         (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
1099         * bindings/v8/custom/V8HistoryCustom.cpp:
1100         (WebCore::V8History::pushStateCallback):
1101         (WebCore::V8History::replaceStateCallback):
1102         * bindings/v8/custom/V8IntentCustom.cpp:
1103         (WebCore::V8Intent::constructorCallbackCustom):
1104         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1105         (WebCore::V8SQLTransaction::executeSqlCallback):
1106         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
1107         (WebCore::V8SQLTransactionSync::executeSqlCallback):
1108         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1109         (WebCore::V8WebGLRenderingContext::getExtensionCallback):
1110
1111 2012-11-21  Kentaro Hara  <haraken@chromium.org>
1112
1113         [V8] Move V8DOMWindowShell::initializeV8IfNeeded() to V8Initializer
1114         https://bugs.webkit.org/show_bug.cgi?id=102899
1115
1116         Reviewed by Adam Barth.
1117
1118         This is an incremental step to kill WorkerContextExecutionProxy.
1119         As commented by abarth in bug 97066, we move
1120         V8DOMWindowShell::initializeV8IfNeeded() to V8Initializer.
1121         This patch renames initializeV8IfNeeded() to initializeMainThreadIfNeeded()
1122         because we will add initializeWorkerIfNeeded() in a follow-up patch.
1123
1124         No tests. No change in behavior.
1125
1126         * UseV8.cmake:
1127         * WebCore.gypi:
1128         * bindings/v8/V8DOMWindowShell.cpp:
1129         (WebCore::V8DOMWindowShell::initializeIfNeeded):
1130         * bindings/v8/V8Initializer.cpp: Added.
1131         (WebCore):
1132         (WebCore::findFrame):
1133         (WebCore::reportFatalError):
1134         (WebCore::reportUncaughtException):
1135         (WebCore::reportUnsafeJavaScriptAccess):
1136         (WebCore::V8Initializer::initializeMainThreadIfNeeded):
1137         * bindings/v8/V8Initializer.h: Added.
1138         (WebCore):
1139         (V8Initializer):
1140
1141 2012-11-21  Alexander Pavlov  <apavlov@chromium.org>
1142
1143         Turn -webkit-text-emphasis into a shorthand property
1144         https://bugs.webkit.org/show_bug.cgi?id=102879
1145
1146         Reviewed by Antti Koivisto.
1147
1148         -webkit-text-emphasis value is no longer empty.
1149
1150         * css/StylePropertySet.cpp:
1151         (WebCore::StylePropertySet::getPropertyValue): Reconstruct the -webkit-text-emphasis value based on the longhands.
1152
1153 2012-11-21  Kentaro Hara  <haraken@chromium.org>
1154
1155         Unreviewed. Build fix.
1156
1157         * bindings/v8/custom/V8BlobCustom.cpp:
1158         (WebCore::V8Blob::constructorCallbackCustom):
1159
1160 2012-11-21  Kentaro Hara  <haraken@chromium.org>
1161
1162         [V8] Rename v8/custom/*Constructor.cpp to v8/custom/*Custom.cpp
1163         https://bugs.webkit.org/show_bug.cgi?id=102881
1164
1165         Reviewed by Adam Barth.
1166
1167         Writing constructorCallback()s in *Custom.cpp is a convention of
1168         custom bindings of JSC and V8. We can rename v8/custom/*Constructor.cpp
1169         to v8/custom/*Custom.cpp.
1170
1171         No tests. No change in behavior.
1172
1173         * UseV8.cmake: This file is already out of sync.
1174         * WebCore.gypi:
1175         * bindings/v8/custom/V8IntentCustom.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8IntentConstructor.cpp.
1176         (WebCore):
1177         (WebCore::V8Intent::constructorCallbackCustom):
1178         * bindings/v8/custom/V8MessageChannelCustom.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8MessageChannelConstructor.cpp.
1179         (WebCore):
1180         (WebCore::V8MessageChannel::constructorCallbackCustom):
1181         * bindings/v8/custom/V8WebKitPointCustom.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8WebKitPointConstructor.cpp.
1182         (WebCore):
1183         (WebCore::V8WebKitPoint::constructorCallbackCustom):
1184
1185 2012-11-21  Dan Carney  <dcarney@google.com>
1186
1187         [V8] Inspector does not callback IDB methods in context
1188         https://bugs.webkit.org/show_bug.cgi?id=101725
1189
1190         Reviewed by Adam Barth.
1191
1192         Inserted v8 context before calling out to IDB.
1193
1194         No new tests.
1195
1196         * inspector/InspectorIndexedDBAgent.cpp:
1197         (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
1198         (WebCore::InspectorIndexedDBAgent::requestDatabase):
1199         (WebCore::InspectorIndexedDBAgent::requestData):
1200
1201 2012-11-21  Huang Dongsung  <luxtella@company100.net>
1202
1203         REGRESSION(134048): TiledBackingStore must create tiles when the contents rect is changed.
1204         https://bugs.webkit.org/show_bug.cgi?id=102035
1205
1206         Reviewed by Kenneth Rohde Christiansen.
1207
1208         Before r134048, the visibleRect contained information of both the viewport and
1209         the contents rect. Now the visible rect is related to only the viewport. So
1210         TiledBackingStore::coverWithTilesIfNeeded() early returns even if the contents
1211         rect is changed, because changing the contents rect is independent on changing
1212         both a trajectory vector and the visible rect.
1213
1214         * platform/graphics/TiledBackingStore.cpp:
1215         (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
1216
1217 2012-11-21  Vsevolod Vlasov  <vsevik@chromium.org>
1218
1219         Web Inspector: Request preview tuning: enable json preview for text/html XHRs
1220         https://bugs.webkit.org/show_bug.cgi?id=102892
1221
1222         Reviewed by Alexander Pavlov.
1223
1224         * inspector/front-end/RequestPreviewView.js:
1225         (WebInspector.RequestPreviewView.prototype._jsonView):
1226         (WebInspector.RequestPreviewView.prototype._htmlView):
1227         (WebInspector.RequestPreviewView.prototype._createPreviewView):
1228
1229 2012-11-21  Kentaro Hara  <haraken@chromium.org>
1230
1231         [V8] Remove manually written v8::TryCatches in custom bindings
1232         https://bugs.webkit.org/show_bug.cgi?id=102883
1233
1234         Reviewed by Adam Barth.
1235
1236         We can replace them with the EXCEPTION_BLOCK() macro or its friends.
1237
1238         No new tests. This patch shouldn't change any behavior.
1239
1240         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1241         (WebCore::handlePostMessageCallback):
1242         * bindings/v8/custom/V8DocumentCustom.cpp:
1243         (WebCore::V8Document::evaluateCallback):
1244         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1245         (WebCore::V8HTMLOptionsCollection::addCallback):
1246         * bindings/v8/custom/V8HistoryCustom.cpp:
1247         (WebCore::V8History::pushStateCallback):
1248         (WebCore::V8History::replaceStateCallback):
1249
1250 2012-11-21  Kentaro Hara  <haraken@chromium.org>
1251
1252         Unreviewed, rolling out r135358.
1253         http://trac.webkit.org/changeset/135358
1254         https://bugs.webkit.org/show_bug.cgi?id=102881
1255
1256         It broke Chromium/Linux build
1257
1258         * UseV8.cmake:
1259         * WebCore.gypi:
1260         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8HTMLImageElementCustom.cpp.
1261         (WebCore):
1262         (WebCore::v8HTMLImageElementConstructorCallback):
1263         (WebCore::V8HTMLImageElementConstructor::GetTemplate):
1264         * bindings/v8/custom/V8HTMLImageElementConstructor.h: Renamed from Source/WebCore/bindings/v8/custom/V8HTMLImageElementCustom.h.
1265         (WebCore):
1266         (V8HTMLImageElementConstructor):
1267         * bindings/v8/custom/V8IntentConstructor.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8IntentCustom.cpp.
1268         (WebCore):
1269         (WebCore::V8Intent::constructorCallbackCustom):
1270         * bindings/v8/custom/V8MessageChannelConstructor.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8MessageChannelCustom.cpp.
1271         (WebCore):
1272         (WebCore::V8MessageChannel::constructorCallbackCustom):
1273         * bindings/v8/custom/V8WebKitPointConstructor.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8WebKitPointCustom.cpp.
1274         (WebCore):
1275         (WebCore::V8WebKitPoint::constructorCallbackCustom):
1276
1277 2012-11-21  KyungTae Kim  <ktf.kim@samsung.com>
1278
1279         Unused parameters on ScrollingCoordinator.cpp
1280         https://bugs.webkit.org/show_bug.cgi?id=102884
1281
1282         Reviewed by Kentaro Hara.
1283
1284         Because the 'scrollingLayerPositionAction' parameter is not used when !USE(ACCELERATED_COMPOSITING),
1285         use UNUSED_PARAM macro to fix build warning -Wunused-parameter
1286
1287         * page/scrolling/ScrollingCoordinator.cpp:
1288         (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
1289
1290 2012-11-21  Kentaro Hara  <haraken@chromium.org>
1291
1292         [V8] Replace V8Parameter::prepare() with V8Parameter::operator=()
1293         https://bugs.webkit.org/show_bug.cgi?id=102870
1294
1295         Reviewed by Adam Barth.
1296
1297         This is an incremental step for V8Parameter refactoring.
1298         By replacing V8Parameter::prepare() with V8Parameter::operator=(),
1299         we can make EXCEPTION_BLOCK() and STRING_TO_V8PARAMETER_EXCEPTION_BLOCK()
1300         equivalent (except for a return value).
1301
1302         Tests: fast/workers/worker-constructor.html
1303                storage/websql/sql-error-codes.html
1304                inspector/console/alert-toString-exception.html
1305                http/tests/websocket/tests/hybi/send-throw.html
1306
1307         * bindings/v8/V8BindingMacros.h:
1308         * bindings/v8/V8StringResource.h:
1309         (WebCore::V8Parameter::V8Parameter):
1310         (V8Parameter):
1311         (WebCore::=):
1312
1313 2012-11-21  Kentaro Hara  <haraken@chromium.org>
1314
1315         [V8] Rename v8/custom/*Constructor.cpp to v8/custom/*Custom.cpp
1316         https://bugs.webkit.org/show_bug.cgi?id=102881
1317
1318         Reviewed by Adam Barth.
1319
1320         Writing constructorCallback()s in *Custom.cpp is a convention of
1321         custom bindings of JSC and V8. We can rename v8/custom/*Constructor.cpp
1322         to v8/custom/*Custom.cpp.
1323
1324         No tests. No change in behavior.
1325
1326         * UseV8.cmake: This file is already out of sync.
1327         * WebCore.gypi:
1328         * bindings/v8/custom/V8HTMLImageElementCustom.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8HTMLImageElementConstructor.cpp.
1329         (WebCore):
1330         (WebCore::v8HTMLImageElementConstructorCallback):
1331         (WebCore::V8HTMLImageElementConstructor::GetTemplate):
1332         * bindings/v8/custom/V8HTMLImageElementCustom.h: Renamed from Source/WebCore/bindings/v8/custom/V8HTMLImageElementConstructor.h.
1333         (WebCore):
1334         (V8HTMLImageElementConstructor):
1335         * bindings/v8/custom/V8IntentCustom.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8IntentConstructor.cpp.
1336         (WebCore):
1337         (WebCore::V8Intent::constructorCallbackCustom):
1338         * bindings/v8/custom/V8MessageChannelCustom.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8MessageChannelConstructor.cpp.
1339         (WebCore):
1340         (WebCore::V8MessageChannel::constructorCallbackCustom):
1341         * bindings/v8/custom/V8WebKitPointCustom.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8WebKitPointConstructor.cpp.
1342         (WebCore):
1343         (WebCore::V8WebKitPoint::constructorCallbackCustom):
1344
1345 2012-11-21  Andrey Adaikin  <aandrey@chromium.org>
1346
1347         Web Inspector: [Canvas] throttle wait icon in the ui
1348         https://bugs.webkit.org/show_bug.cgi?id=102685
1349
1350         Reviewed by Vsevolod Vlasov.
1351
1352         Do not show the wait icon for small operations during the replay to reduce flickering.
1353
1354         * inspector/front-end/CanvasProfileView.js:
1355         (WebInspector.CanvasProfileView.prototype._enableWaitIcon):
1356
1357 2012-11-21  Kunihiko Sakamoto  <ksakamoto@chromium.org>
1358
1359         Enable datalist UI for input types datetime and datetime-local
1360         https://bugs.webkit.org/show_bug.cgi?id=102882
1361
1362         Reviewed by Kent Tamura.
1363
1364         Enabling datalist UI for input types datetime and datetime-local.
1365
1366         No new tests yet. Tests will be added later in Bug 102888.
1367
1368         * platform/text/PlatformLocale.cpp:
1369         (WebCore::Locale::formatDateTime): Support datetime and datetime-local types.
1370         * rendering/RenderThemeChromiumCommon.cpp:
1371         (WebCore::RenderThemeChromiumCommon::supportsDataListUI): Add datetime and datetimelocal to the list.
1372
1373 2012-11-20  Kentaro Hara  <haraken@chromium.org>
1374
1375         [V8] Remove v8/custom/V8XMLHttpRequestConstructor.cpp
1376         https://bugs.webkit.org/show_bug.cgi?id=102876
1377
1378         Reviewed by Sam Weinig.
1379
1380         It doesn't make sense to have one custom cpp file for
1381         XXX::constructorCallback() only. We can move XXX::constructorCallback()
1382         in v8/custom/V8XXXConstructor.cpp to v8/custom/V8XXXCustom.cpp
1383         and thus remove v8/custom/V8XXXConstructor.cpp.
1384
1385         Note: Some XXX::constructorCallback()s are already written in
1386         v8/custom/V8XXXCustom.cpp. JSC already has almost all
1387         XXX::constructorCallback()s in js/JSXXXCustom.cpp.
1388
1389         No tests. No change in behavior.
1390
1391         * UseV8.cmake:
1392         * WebCore.gypi:
1393         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: Removed.
1394         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1395         (WebCore::V8XMLHttpRequest::constructorCallbackCustom):
1396         (WebCore):
1397
1398 2012-11-20  Kentaro Hara  <haraken@chromium.org>
1399
1400         Unreviewed. Rebaselined run-bindings-tests.
1401
1402         * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
1403         * bindings/scripts/test/CPP/WebDOMTestActiveDOMObject.cpp:
1404         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
1405         * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.cpp:
1406         * bindings/scripts/test/CPP/WebDOMTestEventConstructor.cpp:
1407         * bindings/scripts/test/CPP/WebDOMTestEventTarget.cpp:
1408         * bindings/scripts/test/CPP/WebDOMTestException.cpp:
1409         * bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
1410         * bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.cpp:
1411         * bindings/scripts/test/CPP/WebDOMTestNamedConstructor.cpp:
1412         * bindings/scripts/test/CPP/WebDOMTestNode.cpp:
1413         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
1414         * bindings/scripts/test/CPP/WebDOMTestOverloadedConstructors.cpp:
1415         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
1416         * bindings/scripts/test/V8/V8TestObj.cpp:
1417         (WebCore::TestObjV8Internal::withScriptStateAttributeAttrGetter):
1418         (WebCore::TestObjV8Internal::withScriptStateAttributeAttrSetter):
1419         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
1420         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetter):
1421         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
1422         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetter):
1423         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
1424         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
1425         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
1426         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter):
1427         (WebCore::TestObjV8Internal::withScriptStateVoidCallback):
1428         (WebCore::TestObjV8Internal::withScriptStateObjCallback):
1429         (WebCore::TestObjV8Internal::withScriptStateVoidExceptionCallback):
1430         (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
1431         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateCallback):
1432         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
1433         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
1434
1435 2012-11-20  Kentaro Hara  <haraken@chromium.org>
1436
1437         [V8] Introduce constructorCallbackCustom()
1438         https://bugs.webkit.org/show_bug.cgi?id=102763
1439
1440         Reviewed by Adam Barth.
1441
1442         Currently custom constructors have the following code:
1443
1444           v8::Handle<v8::Value> V8XXX::constructorCallback(const v8::Arguments& args) {
1445             INC_STATS("DOM.XXX.Constructor");
1446             if (!args.IsConstructCall())
1447               return throwTypeError("DOM object constructor cannot be called as a function.", args.GetIsolate());
1448             if (ConstructorMode::current() == ConstructorMode::WrapExistingObject)
1449               return args.Holder();
1450
1451             /* body of the constructor */;
1452           }
1453
1454         To avoid duplicating the same logic in all custom constructors,
1455         this patch changes the generated code as follows:
1456
1457           // Generated automatically
1458           v8::Handle<v8::Value> V8XXX::constructorCallback(const v8::Arguments& args) {
1459             INC_STATS("DOM.XXX.Constructor");
1460             ${maybeObserveFeature}  // Newly supported for custom constructors.
1461             if (!args.IsConstructCall())
1462               return throwTypeError("DOM object constructor cannot be called as a function.", args.GetIsolate());
1463             if (ConstructorMode::current() == ConstructorMode::WrapExistingObject)
1464               return args.Holder();
1465
1466             V8XXX::constructorCallbackCustom(args);
1467           }
1468
1469           // Written manually
1470           v8::Handle<v8::Value> V8XXX::constructorCallback(const v8::Arguments& args) {
1471             /* body of the constructor */;
1472           }
1473
1474         No tests. No change in behavior.
1475
1476         * bindings/scripts/CodeGeneratorV8.pm:
1477         (GenerateHeader):
1478         (HasCustomConstructor):
1479         (GenerateCustomConstructorCallback):
1480         (GenerateImplementation):
1481         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1482         (WebCore::V8TestEventConstructor::constructorCallback):
1483         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1484         (WebCore::V8TestNamedConstructorConstructorCallback):
1485         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1486         (WebCore::V8TestOverloadedConstructors::constructorCallback):
1487         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
1488         (WebCore::V8ArrayBuffer::constructorCallbackCustom):
1489         * bindings/v8/custom/V8AudioContextCustom.cpp:
1490         (WebCore::V8AudioContext::constructorCallbackCustom):
1491         * bindings/v8/custom/V8BlobCustom.cpp:
1492         (WebCore::V8Blob::constructorCallbackCustom):
1493         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
1494         (WebCore::V8DOMFormData::constructorCallbackCustom):
1495         * bindings/v8/custom/V8DataViewCustom.cpp:
1496         (WebCore::V8DataView::constructorCallbackCustom):
1497         * bindings/v8/custom/V8IntentConstructor.cpp:
1498         (WebCore::V8Intent::constructorCallbackCustom):
1499         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
1500         (WebCore::V8MessageChannel::constructorCallbackCustom):
1501         * bindings/v8/custom/V8MutationObserverCustom.cpp:
1502         (WebCore::V8MutationObserver::constructorCallbackCustom):
1503         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
1504         (WebCore::V8WebKitPoint::constructorCallbackCustom):
1505         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
1506         (WebCore::V8XMLHttpRequest::constructorCallbackCustom):
1507
1508 2012-11-20  Kunihiko Sakamoto  <ksakamoto@chromium.org>
1509
1510         REGRESSION(r135263): Fix a wrong argument for udat_close
1511         https://bugs.webkit.org/show_bug.cgi?id=102856
1512
1513         Reviewed by Kent Tamura.
1514
1515         Fixed a bug that passed wrong pointer to udat_close.
1516
1517         No new tests. No changes in behavior.
1518
1519         * platform/text/LocaleICU.cpp:
1520         (WebCore::LocaleICU::initializeDateTimeFormat): Close correct object.
1521
1522 2012-11-20  Kentaro Hara  <haraken@chromium.org>
1523
1524         Remove $outputDir and $outputHeadersDir from global variables of code generators
1525         https://bugs.webkit.org/show_bug.cgi?id=102492
1526
1527         Reviewed by Adam Barth.
1528
1529         $outputDir and $outputHeadersDir are used in WriteData() only.
1530         We don't need to use global variables for them.
1531
1532         No tests. No change in behavior.
1533
1534         * bindings/scripts/CodeGenerator.pm:
1535         (ProcessDocument):
1536         (FileNamePrefix):
1537         * bindings/scripts/CodeGeneratorCPP.pm:
1538         (new):
1539         (GenerateInterface):
1540         (WriteData):
1541         * bindings/scripts/CodeGeneratorGObject.pm:
1542         (new):
1543         (WriteData):
1544         (GenerateInterface):
1545         * bindings/scripts/CodeGeneratorJS.pm:
1546         (new):
1547         (GenerateInterface):
1548         (WriteData):
1549         * bindings/scripts/CodeGeneratorObjC.pm:
1550         (new):
1551         (GenerateInterface):
1552         (WriteData):
1553         * bindings/scripts/CodeGeneratorV8.pm:
1554         (new):
1555         (GenerateInterface):
1556         (WriteData):
1557
1558 2012-11-20  Adam Barth  <abarth@webkit.org>
1559
1560         7% regression in dromaeo_domcorequery/dom_query_getElementsByTagName__not_in_document
1561         https://bugs.webkit.org/show_bug.cgi?id=102852
1562
1563         Reviewed by Kentaro Hara.
1564
1565         In http://trac.webkit.org/changeset/135208/, we lost the early-exit
1566         check for whether isolatedWorldsExist() in this code path. This
1567         regression points to benchmarks that we can further improve by
1568         continuing to merge the general ScriptWrappable code path with the Node
1569         code path.
1570
1571         * bindings/v8/DOMDataStore.cpp:
1572         (WebCore::DOMDataStore::current):
1573
1574 2012-11-20  Kentaro Hara  <haraken@chromium.org>
1575
1576         [V8] Change a return type of V8Parameter::prepare() from bool to void
1577         https://bugs.webkit.org/show_bug.cgi?id=102805
1578
1579         Reviewed by Adam Barth.
1580
1581         This is an incremental step for V8Parameter refactoring.
1582
1583         V8Parameter::prepare() is always called just after V8Parameter's
1584         constructor. So I want to move the logic of V8Parameter::prepare()
1585         to V8Parameter's constructor. In preparation for that (i.e. because
1586         a constructor cannot return any value), this patch changes the return
1587         type of V8Parameter::prepare() from bool to void.
1588
1589         Tests: fast/workers/worker-constructor.html
1590                storage/websql/sql-error-codes.html
1591                inspector/console/alert-toString-exception.html
1592                http/tests/websocket/tests/hybi/send-throw.html
1593                etc
1594
1595         * bindings/v8/V8BindingMacros.h:
1596         * bindings/v8/V8StringResource.h:
1597         (V8Parameter):
1598         (WebCore::V8Parameter::prepareBase): This patch removes a TryCatch block.
1599         This change is safe because (1) all V8Parameter::prepareBase() in the code base
1600         is called inside STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(), and because
1601         (2) STRING_TO_V8PARAMETER_EXCEPTION_BLOCK() has a TryCatch block.
1602         (Note: In a follow-up patch I'm planning to refactor the macros.)
1603         (WebCore::::prepare): I will remove this method shortly.
1604
1605 2012-11-20  Adam Klein  <adamk@chromium.org>
1606
1607         [JSC] MutationObserver wrapper should not be collected while still observing
1608         https://bugs.webkit.org/show_bug.cgi?id=102744
1609
1610         Reviewed by Adam Barth.
1611
1612         This is the JSC side of the change landed for V8 in r135228.
1613         It ensures MutationObserver wrapper objects are kept alive as long as
1614         any observed nodes.
1615
1616         * bindings/js/JSMutationObserverCustom.cpp:
1617         (WebCore::JSMutationObserverOwner::isReachableFromOpaqueRoots): Keep MutationObserver wrappers alive
1618         if any of their observed nodes' roots is an opaque root.
1619         * dom/MutationObserver.idl: Add JSCustomIsReachable
1620
1621 2012-11-20  Joshua Bell  <jsbell@chromium.org>
1622
1623         IndexedDB: Move control of transaction completion to front end
1624         https://bugs.webkit.org/show_bug.cgi?id=100903
1625
1626         Reviewed by Tony Chang.
1627
1628         "When a transaction can no longer become active, the implementation must attempt to
1629         commit it" - that is, all requests have dispatched success/error events and no further
1630         requests have been made. Previously, this was done by the back end waiting for events
1631         from the front end, but the front end can more efficiently make the decision.
1632
1633         There should be no detectable behavior change.
1634
1635         Tests: storage/indexeddb/transaction-*.html
1636
1637         * Modules/indexeddb/IDBTransaction.cpp:
1638         (WebCore::IDBTransaction::IDBTransaction):
1639         (WebCore::IDBTransaction::setActive):
1640         (WebCore::IDBTransaction::registerRequest):
1641         * Modules/indexeddb/IDBTransaction.h:
1642         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
1643         (WebCore::IDBTransactionBackendImpl::hasPendingTasks): Added.
1644         (WebCore::IDBTransactionBackendImpl::didCompleteTaskEvents):
1645         (WebCore::IDBTransactionBackendImpl::run):
1646         (WebCore::IDBTransactionBackendImpl::taskEventTimerFired):
1647
1648 2012-11-20  Kentaro Hara  <haraken@chromium.org>
1649
1650         Unreviewed. Rebaselined run-bindings-tests results.
1651
1652         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1653         (WebCore::V8TestEventConstructor::constructorCallback):
1654         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1655         (WebCore::V8TestNamedConstructorConstructorCallback):
1656         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1657         (WebCore::V8TestOverloadedConstructors::constructorCallback):
1658
1659 2012-11-20  Alpha Lam  <hclam@chromium.org>
1660
1661         Unreviewed. Chromium build fix.
1662
1663         Removed unnecessary mutex unlock that triggered crash on Linux debug build.
1664
1665         Chromium Linux Debug layout tests should be green:
1666         platform/chromium/virtual/deferred/fast/images/image-in-map.html
1667
1668         * platform/graphics/chromium/LazyDecodingPixelRef.cpp:
1669         (WebCore::LazyDecodingPixelRef::onLockPixels):
1670
1671 2012-11-20  Ryosuke Niwa  <rniwa@webkit.org>
1672
1673         Fix another typo. I need to checking that type() != NodeListCollectionType,
1674         not that type() >= FirstNodeCollectionType.
1675
1676         * dom/DynamicNodeList.cpp:
1677         (WebCore::DynamicNodeListCacheBase::invalidateIdNameCacheMaps):
1678         * dom/DynamicNodeList.h:
1679         (WebCore::DynamicNodeListCacheBase::invalidateCache):
1680
1681 2012-11-20  Michael Pruett  <michael@68k.org>
1682
1683         [V8] Pass ScriptState::current() to functions marked with CallWith=ScriptState
1684         https://bugs.webkit.org/show_bug.cgi?id=102739
1685
1686         Reviewed by Kentaro Hara.
1687
1688         Previously EmptyScriptState rather than ScriptState::current()
1689         was passed to functions marked with [CallWith=ScriptState].
1690         Since the EmptyScriptState has a null v8::Context, any functions
1691         which depended upon a valid v8::Context would fail.
1692
1693         No new tests. Covered by existing tests.
1694
1695         * bindings/scripts/CodeGeneratorV8.pm:
1696         (GenerateNormalAttrGetter):
1697         (GenerateNormalAttrSetter):
1698         (GenerateCallWith):
1699         (GenerateFunctionCallString):
1700         * bindings/v8/ScriptState.h:
1701         (WebCore::ScriptState::clearException): Added.
1702
1703 2012-11-20  Brent Fulgham  <bfulgham@webkit.org>
1704
1705         [Qt] Build fix after r135217.
1706         https://bugs.webkit.org/show_bug.cgi?id=102787
1707
1708         * platform/win/WindowsExtras.h: Switch to direct include of
1709           <ObjBase.h>, as is done in other <shlwapi.h> includes.
1710
1711 2012-11-20  Ryosuke Niwa  <rniwa@webkit.org>
1712
1713         Fix typos. Apparently XCode failed to text-replace earlier when it was busy making a snapshot :(
1714
1715         * dom/DynamicNodeList.cpp:
1716         (WebCore::DynamicNodeListCacheBase::invalidateIdNameCacheMaps):
1717         * dom/DynamicNodeList.h:
1718         (WebCore::DynamicNodeListCacheBase::invalidateCache):
1719         (DynamicNodeListCacheBase):
1720
1721 2012-11-20  Kentaro Hara  <haraken@chromium.org>
1722
1723         [V8] Introduce GenerateConstructorHeader() to CodeGeneratorV8.pm
1724         https://bugs.webkit.org/show_bug.cgi?id=102806
1725
1726         Reviewed by Adam Barth.
1727
1728         This is an incremental step for introducing constructorCallbackCustom().
1729         (See bug 102763.) This patch adds GenerateConstructorHeader()
1730         that generates a common code for constructors.
1731
1732         No tests. No change in behavior.
1733
1734         * bindings/scripts/CodeGeneratorV8.pm:
1735         (GenerateOverloadedConstructorCallback):
1736         (GenerateSingleConstructorCallback):
1737         (GenerateEventConstructorCallback):
1738         (GenerateNamedConstructorCallback):
1739         (GenerateConstructorHeader):
1740
1741 2012-11-20  Ryosuke Niwa  <rniwa@webkit.org>
1742
1743         HTMLCollection's cache should not be invalidated when id or name attributes are changed
1744         https://bugs.webkit.org/show_bug.cgi?id=102843
1745
1746         Reviewed by Eric Seidel.
1747
1748         When an id or name attribute changes, only invaliate id and name cache maps when the collection
1749         doesn't depend on id and name attributes (e.g. document.images).
1750
1751         Unfortunately, I could not create a reliable test for this performance problem.
1752
1753         * dom/DynamicNodeList.cpp:
1754         (WebCore::DynamicNodeListCacheBase::invalidateIdNameCacheMaps):
1755         * dom/DynamicNodeList.h:
1756         (WebCore::DynamicNodeListCacheBase::invalidateCache):
1757         (DynamicNodeListCacheBase):
1758         * dom/ElementRareData.h:
1759         (WebCore::ElementRareData::clearHTMLCollectionCaches):
1760         * html/HTMLCollection.cpp:
1761         (WebCore::invalidationTypeExcludingIdAndNameAttributes):
1762
1763 2012-11-20  Adam Klein  <adamk@chromium.org>
1764
1765         [v8] Avoid unnecessary call to ToObject() in Callback constructors
1766         https://bugs.webkit.org/show_bug.cgi?id=102831
1767
1768         Reviewed by Adam Barth.
1769
1770         The code already asserted that the argument was an object, so calling
1771         ToObject() is unnecessary: a simple Cast() suffices.
1772
1773         * bindings/scripts/CodeGeneratorV8.pm:
1774         (GenerateCallbackHeader):
1775         * bindings/scripts/test/V8/V8TestCallback.h:
1776         (WebCore::V8TestCallback::create):
1777
1778 2012-11-20  Brent Fulgham  <bfulgham@webkit.org>
1779
1780         [WinCairo] Build fix after r135316
1781
1782         * platform/network/curl/AuthenticationChallenge.h: Update stub
1783           implementations to match Apple Windows port.
1784         (WebCore::AuthenticationChallenge::AuthenticationChallenge): Add
1785           missing identifier argument.
1786         (WebCore::AuthenticationChallenge::setAuthenticationClient): Supply
1787           missing set method.
1788
1789 2012-11-20  Tony Chang  <tony@chromium.org>
1790
1791         When calling DocumentStyleSheetCollection::addUserSheet, pass in a user sheet
1792         https://bugs.webkit.org/show_bug.cgi?id=102835
1793
1794         Reviewed by Ojan Vafai.
1795
1796         After r135082, Chromium browser_tests were triggering the ASSERT in
1797         StyleResolver::collectRulesFromUserStyleSheets. Add an ASSERT that will
1798         trigger earlier and make it clear in the Chromium code that we're always
1799         inserting user level styles.
1800
1801         No new tests, no behavior change except no longer triggering the StyleResolver ASSERT
1802         in Chromium browser_tests.
1803
1804         * dom/DocumentStyleSheetCollection.cpp:
1805         (WebCore::DocumentStyleSheetCollection::addUserSheet):
1806
1807 2012-11-20  Bear Travis  <betravis@adobe.com>
1808
1809         [CSS Exclusions] Support outside-shape value on shape-inside
1810         https://bugs.webkit.org/show_bug.cgi?id=101108
1811
1812         Reviewed by Dirk Schulze.
1813
1814         Shape-inside can potentially be: 'auto' | 'outside-shape' | <shape> | <url>.
1815         Webkit currently supports the value 'auto' (null) and <shape> (a BasicShape*).
1816         This patch adds support for the value 'outside-shape.' It adds the ExclusionShapeValue
1817         class, which may be any of the three values: 'auto', 'outside-shape', or <shape>.
1818         Bug 102738 tracks adding <url> support.
1819
1820         Modifying existing tests:
1821         LayoutTests/fast/exclusions/parsing-wrap-shape-inside.html
1822         LayoutTests/fast/exclusions/parsing-wrap-shape-outside.html
1823
1824         * GNUmakefile.list.am: Adding ExclusionShapeValue.h to the build files.
1825         * Target.pri: Ditto.
1826         * WebCore.gypi: Ditto.
1827         * WebCore.vcproj/WebCore.vcproj: Ditto.
1828         * WebCore.xcodeproj/project.pbxproj: Ditto.
1829         (WebCore):
1830         * css/CSSComputedStyleDeclaration.cpp:
1831         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Modifying code to use
1832         ExclusionShapeValue* rather than the previous BasicShape* values.
1833         * css/CSSParser.cpp:
1834         (WebCore::CSSParser::parseValue): Handle the outside-shape value.
1835         * css/CSSValueKeywords.in: Adding outside-shape value.
1836         * css/StyleBuilder.cpp:
1837         (WebCore):
1838         (WebCore::ApplyPropertyExclusionShape::setValue): Modify code to use
1839         ExclusionShapeValue* rather than BasicShape*.
1840         (WebCore::ApplyPropertyExclusionShape::applyValue): Ditto.
1841         (WebCore::ApplyPropertyExclusionShape::createHandler): Ditto.
1842         * page/animation/CSSPropertyAnimation.cpp: Ditto.
1843         (WebCore::blendFunc): Ditto.
1844         (WebCore::PropertyWrapperExclusionShape::PropertyWrapperExclusionShape): Ditto.
1845         (WebCore::CSSPropertyAnimation::ensurePropertyMap): Ditto.
1846         * rendering/ExclusionShapeInsideInfo.cpp:
1847         (WebCore::ExclusionShapeInsideInfo::isExclusionShapeInsideInfoEnabledForRenderBlock):
1848         Ditto.
1849         (WebCore::ExclusionShapeInsideInfo::computeShapeSize): Ditto.
1850         * rendering/RenderBlock.cpp:
1851         (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange): Ditto.
1852         * rendering/RenderBlock.h:
1853         (RenderBlock):
1854         * rendering/style/ExclusionShapeValue.h: Added.
1855         (WebCore):
1856         (ExclusionShapeValue): New type to represent the possible values of shape-inside
1857         and shape-outside. Only shape-inside can have a value of 'outside-shape.'
1858         (WebCore::ExclusionShapeValue::~ExclusionShapeValue):
1859         (WebCore::ExclusionShapeValue::type): Returns the value type.
1860         (WebCore::ExclusionShapeValue::shape): Returns <shape> value's BasicShape*.
1861         (WebCore::ExclusionShapeValue::operator==):
1862         (WebCore::ExclusionShapeInfo::createShapeValue):
1863         (WebCore::ExclusionShapeInfo::createOutsideValue):
1864         (WebCore::ExclusionShapeValue::ExclusionShapeValue):
1865         * rendering/style/RenderStyle.h:
1866         * rendering/style/StyleRareNonInheritedData.h:
1867         (StyleRareNonInheritedData):
1868
1869 2012-11-20  Alpha Lam  <hclam@chromium.org>
1870
1871         [chromium] Make lazy image decoding thread-safe
1872         https://bugs.webkit.org/show_bug.cgi?id=102721
1873
1874         Reviewed by Stephen White.
1875
1876         Added mutex to LazyDecodingPixelRef such that there is no parallel
1877         onLockPixels() running on multiple threads.
1878
1879         Added mutex to ImageFrameGenerator to protect the use of raw image
1880         data.
1881
1882         The result is that we can decode on threads other than the main
1883         thread while data is being supplied on the main thread.
1884
1885         New unit test:
1886         DeferredImageDecoderTest.decodeOnOtherThread
1887
1888         * platform/graphics/chromium/ImageFrameGenerator.cpp:
1889         (WebCore::ImageFrameGenerator::setData):
1890         (WebCore::ImageFrameGenerator::decodeAndScale):
1891         * platform/graphics/chromium/ImageFrameGenerator.h:
1892         (ImageFrameGenerator):
1893         * platform/graphics/chromium/LazyDecodingPixelRef.cpp:
1894         (WebCore::LazyDecodingPixelRef::onLockPixels):
1895         (WebCore::LazyDecodingPixelRef::onUnlockPixels):
1896         * platform/graphics/chromium/LazyDecodingPixelRef.h:
1897         (LazyDecodingPixelRef):
1898
1899 2012-11-20  Brent Fulgham  <bfulgham@webkit.org>
1900
1901         [Qt] Build fix after r135217.
1902         https://bugs.webkit.org/show_bug.cgi?id=102787
1903
1904         * platform/win/WindowsExtras.h: Add #undef of NOSHLWAPI to
1905         allow include of <ObjBase.h> needed by Qt build.
1906
1907 2012-11-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1908
1909         Unreviewed, rolling out r135295.
1910         http://trac.webkit.org/changeset/135295
1911         https://bugs.webkit.org/show_bug.cgi?id=102834
1912
1913         This patch causes assertion to some layout tests on chromium
1914         (Requested by jianli on #webkit).
1915
1916         * CMakeLists.txt:
1917         * GNUmakefile.list.am:
1918         * Target.pri:
1919         * WebCore.exp.in:
1920         * WebCore.gypi:
1921         * WebCore.vcproj/WebCore.vcproj:
1922         * WebCore.xcodeproj/project.pbxproj:
1923         * loader/FrameLoadRequest.cpp: Removed.
1924         * loader/FrameLoadRequest.h:
1925         (WebCore::FrameLoadRequest::FrameLoadRequest):
1926         (FrameLoadRequest):
1927         * loader/FrameLoader.cpp:
1928         (WebCore::FrameLoader::load):
1929         * loader/FrameLoader.h:
1930         (FrameLoader):
1931         * page/DragController.cpp:
1932         (WebCore::DragController::performDrag):
1933         * plugins/PluginView.cpp:
1934         (WebCore::PluginView::performRequest):
1935
1936 2012-11-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1937
1938         Unreviewed, rolling out r135293.
1939         http://trac.webkit.org/changeset/135293
1940         https://bugs.webkit.org/show_bug.cgi?id=102832
1941
1942         This patch causes crash to some layout tests on chromium
1943         (Requested by jianli on #webkit).
1944
1945         * bindings/v8/DOMDataStore.cpp:
1946         (WebCore::DOMDataStore::current):
1947         * bindings/v8/DOMWrapperWorld.cpp:
1948         * bindings/v8/DOMWrapperWorld.h:
1949         * bindings/v8/ScriptController.cpp:
1950         (WebCore::ScriptController::existingWindowShell):
1951         (WebCore::ScriptController::windowShell):
1952         (WebCore::ScriptController::evaluateInIsolatedWorld):
1953         (WebCore::ScriptController::currentWorldContext):
1954         (WebCore::ScriptController::collectIsolatedContexts):
1955         * bindings/v8/ScriptController.h:
1956         (ScriptController):
1957         * bindings/v8/V8Binding.h:
1958         (WebCore::worldForEnteredContextIfIsolated):
1959         * bindings/v8/V8DOMWindowShell.cpp:
1960         (WebCore::V8DOMWindowShell::destroyIsolatedShell):
1961         (WebCore):
1962         (WebCore::isolatedContextWeakCallback):
1963         (WebCore::V8DOMWindowShell::disposeContext):
1964         (WebCore::V8DOMWindowShell::initializeIfNeeded):
1965         * bindings/v8/V8DOMWindowShell.h:
1966         (WebCore::V8DOMWindowShell::isolated):
1967         (V8DOMWindowShell):
1968         * bindings/v8/V8PerContextData.h:
1969         * bindings/v8/WorldContextHandle.cpp:
1970         (WebCore::WorldContextHandle::WorldContextHandle):
1971
1972 2012-11-20  David Grogan  <dgrogan@chromium.org>
1973
1974         IndexedDB: Remove legacy enum-based constants from IDL
1975         https://bugs.webkit.org/show_bug.cgi?id=85315
1976
1977         Reviewed by Adam Barth.
1978
1979         These were only present in an earlier working draft of the spec and have
1980         been removed for 8 months. See
1981         http://lists.w3.org/Archives/Public/public-webapps/2012JanMar/0957.html
1982
1983         Tests - legacy-constants.html
1984
1985         * Modules/indexeddb/IDBCursor.cpp:
1986         (WebCore::IDBCursor::stringToDirection):
1987         * Modules/indexeddb/IDBCursor.idl:
1988         * Modules/indexeddb/IDBTransaction.cpp:
1989         (WebCore::IDBTransaction::stringToMode):
1990         * Modules/indexeddb/IDBTransaction.idl:
1991
1992 2012-11-20  Elliott Sprehn  <esprehn@chromium.org>
1993
1994         Store MutationObserver callback in a hidden property for V8
1995         https://bugs.webkit.org/show_bug.cgi?id=102555
1996
1997         Reviewed by Adam Barth.
1998
1999         To prevent circular reference leaks we should store the MutationObserver
2000         callback in a hidden property on the wrapper of the observer.
2001
2002         This is done by extending the code generator to support a new owner
2003         argument to ::create() that lets you set the owner of the callback where
2004         the hidden property should be stored.
2005
2006         Test: ManualTests/leak-cycle-observer-wrapper.html
2007
2008         * bindings/scripts/CodeGeneratorV8.pm:
2009         (GenerateCallbackHeader):
2010         (GenerateCallbackImplementation):
2011         * bindings/scripts/test/V8/V8TestCallback.cpp: rebaselined.
2012         * bindings/scripts/test/V8/V8TestCallback.h: rebaselined.
2013         * bindings/v8/V8HiddenPropertyName.h:
2014         * bindings/v8/custom/V8MutationObserverCustom.cpp:
2015         (WebCore::V8MutationObserver::constructorCallback):
2016
2017 2012-11-20  Abhishek Arya  <inferno@chromium.org>
2018
2019         Crash in FrameLoader::stopLoading.
2020         https://bugs.webkit.org/show_bug.cgi?id=99504
2021
2022         Reviewed by Nate Chapin.
2023
2024         Frame can be blown away in unload event handler. Need
2025         to protect it with a RefPtr.
2026
2027         Test: fast/frames/frame-unload-crash2.html
2028
2029         * loader/FrameLoader.cpp:
2030         (WebCore::FrameLoader::commitProvisionalLoad):
2031
2032 2012-11-20  Dirk Schulze  <krit@webkit.org>
2033
2034         Remove unnecessary FilterOperations header from RenderBoxModelObject
2035         https://bugs.webkit.org/show_bug.cgi?id=102821
2036
2037         Reviewed by Ojan Vafai.
2038
2039         No new tests, simple refactoring.
2040
2041         * rendering/RenderBoxModelObject.cpp:
2042
2043 2012-11-20  Tom Sepez  <tsepez@chromium.org>
2044
2045         XSSAuditor::decodedSnippetForJavaScript stopping when comma encountered.
2046         https://bugs.webkit.org/show_bug.cgi?id=102587
2047
2048         Reviewed by Adam Barth.
2049
2050         Rather than returning an empty fragment, continue processing the body
2051         of a script tag when the decoded fragment reduces to nothing.
2052
2053         Test: http/tests/security/xssAuditor/script-tag-with-actual-comma.html
2054
2055         * html/parser/XSSAuditor.cpp:
2056         (WebCore::XSSAuditor::decodedSnippetForJavaScript):
2057
2058 2012-11-20  James Simonsen  <simonjam@chromium.org>
2059
2060         Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
2061         https://bugs.webkit.org/show_bug.cgi?id=102151
2062
2063         Reviewed by Adam Barth.
2064
2065         There's a FIXME that we have too many FrameLoader::load*() functions. This patch consolidates 3 into 1.
2066         There are still a few more load functions that will be consolidated later. Using FrameLoadRequest as
2067         the interface into FrameLoader will also provide a place to pass in the initiator. Finally, this matches
2068         the refactoring done with CachedResourceRequest and CachedResourceLoader.
2069
2070         No new tests. No change in functionality.
2071
2072         * WebCore.exp.in:
2073         * loader/FrameLoadRequest.h:
2074         (WebCore::FrameLoadRequest::FrameLoadRequest):
2075         (WebCore::FrameLoadRequest::setLockHistory): These are former arguments to load().
2076         (WebCore::FrameLoadRequest::lockHistory): Ditto.
2077         (FrameLoadRequest):
2078         (WebCore::FrameLoadRequest::setShouldCheckNewWindowPolicy): Ditto.
2079         (WebCore::FrameLoadRequest::shouldCheckNewWindowPolicy): Ditto.
2080         (WebCore::FrameLoadRequest::substituteData): Ditto.
2081         (WebCore::FrameLoadRequest::setSubstituteData): Ditto.
2082         (WebCore::FrameLoadRequest::hasSubstituteData): Ditto.
2083         * loader/FrameLoader.cpp:
2084         (WebCore::FrameLoader::load): No change in behavior, just merged it all into one function.
2085         * loader/FrameLoader.h:
2086         (FrameLoader):
2087         * page/DragController.cpp:
2088         (WebCore::DragController::performDrag):
2089
2090 2012-11-20  Dan Carney  <dcarney@google.com>
2091
2092         Remove V8DOMWindowShell::getEntered
2093         https://bugs.webkit.org/show_bug.cgi?id=96637
2094
2095         Reviewed by Adam Barth.
2096
2097         V8DOMWindowShell::getEntered was refactored so that the window shell
2098         no longer has to be kept alive by a v8 context. Instead, only
2099         the DOMWrapperWorld will be kept alive.
2100
2101         No new tests. No change in functionality.
2102
2103         * bindings/v8/DOMDataStore.cpp:
2104         (WebCore::DOMDataStore::current):
2105         * bindings/v8/DOMWrapperWorld.cpp:
2106         (WebCore::isolatedWorldWeakCallback):
2107         (WebCore):
2108         (WebCore::DOMWrapperWorld::makeContextWeak):
2109         (WebCore::DOMWrapperWorld::setIsolatedWorldField):
2110         * bindings/v8/DOMWrapperWorld.h:
2111         (DOMWrapperWorld):
2112         (WebCore::DOMWrapperWorld::isolated):
2113         * bindings/v8/ScriptController.cpp:
2114         (WebCore::ScriptController::existingWindowShell):
2115         (WebCore::ScriptController::windowShell):
2116         (WebCore::ScriptController::evaluateInIsolatedWorld):
2117         (WebCore::ScriptController::currentWorldContext):
2118         (WebCore::ScriptController::collectIsolatedContexts):
2119         * bindings/v8/ScriptController.h:
2120         (ScriptController):
2121         * bindings/v8/V8Binding.h:
2122         (WebCore::worldForEnteredContextIfIsolated):
2123         * bindings/v8/V8DOMWindowShell.cpp:
2124         (WebCore::V8DOMWindowShell::destroyIsolatedShell):
2125         (WebCore::V8DOMWindowShell::disposeContext):
2126         (WebCore::V8DOMWindowShell::initializeIfNeeded):
2127         * bindings/v8/V8DOMWindowShell.h:
2128         (V8DOMWindowShell):
2129         * bindings/v8/V8PerContextData.h:
2130         * bindings/v8/WorldContextHandle.cpp:
2131         (WebCore::WorldContextHandle::WorldContextHandle):
2132
2133 2012-11-20  Mike West  <mkwst@chromium.org>
2134
2135         Remove '#include "ScriptCallStackFactory.h"' include when unnecessary.
2136         https://bugs.webkit.org/show_bug.cgi?id=102812
2137
2138         Reviewed by Jochen Eisinger.
2139
2140         "ScriptCallStackFactory.h" is included in a few files where it doesn't
2141         seem to be required. Since I'm in the process of centralizing stack
2142         trace generation anyway, I'll just clean this up as a drive-by.
2143
2144         * bindings/js/JSConsoleCustom.cpp:
2145         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2146         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2147         * loader/FrameLoader.cpp:
2148             Removed "ScriptCallStackFactory.h".
2149         * bindings/js/ScheduledAction.cpp:
2150             This also included (but didn't use) "ScriptCallStack.h". I've
2151             removed it as well.
2152
2153 2012-11-20  Elliott Sprehn  <esprehn@chromium.org>
2154
2155         Merge checks for creating renderers into shouldCreateRenderer
2156         https://bugs.webkit.org/show_bug.cgi?id=102768
2157
2158         Reviewed by Ojan Vafai.
2159
2160         Merge the checks for if renderers should be created into shouldCreateRenderer
2161         so simplify the code and ensure correctness if doing
2162         NodeRenderingContext(node).shouldCreateRenderer() in other places in webkit.
2163
2164         No new tests, just refactoring.
2165
2166         * dom/NodeRenderingContext.cpp:
2167         (WebCore::NodeRenderingContext::shouldCreateRenderer):
2168         (WebCore::NodeRendererFactory::createRendererIfNeeded):
2169
2170 2012-11-19  Pavel Feldman  <pfeldman@chromium.org>
2171
2172         Web Inspector: simplify? damaged region computation in the editor
2173         https://bugs.webkit.org/show_bug.cgi?id=102688
2174
2175         Reviewed by Vsevolod Vlasov.
2176
2177         This change simplifies the damaged region computation. Drive-by make _getSelection work properly.
2178
2179         * inspector/front-end/DefaultTextEditor.js:
2180         (WebInspector.DefaultTextEditor):
2181         (WebInspector.DefaultTextEditor.prototype._handleCut):
2182         (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleLineNumber.compareLineRowOffsetTops):
2183         (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleLineNumber):
2184         (WebInspector.TextEditorMainPanel.prototype.handleEnterKey.get var):
2185         (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
2186         (WebInspector.TextEditorMainPanel.prototype._paintLineChunks):
2187         (WebInspector.TextEditorMainPanel.prototype._getSelection):
2188         (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
2189         (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
2190         (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
2191         (WebInspector.TextEditorMainPanel.prototype._handleMutations):
2192         (WebInspector.TextEditorMainPanel.prototype._collectDirtyLines):
2193         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
2194         (WebInspector.TextEditorMainPanel.prototype._guessEditRangeBasedOnSelection):
2195         (WebInspector.TextEditorMainPanel.prototype._assertDOMMatchesTextModel):
2196         (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
2197         (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDOM):
2198         (WebInspector.TextEditorMainChunk):
2199         (WebInspector.TextEditorMainChunk.prototype.addDecoration):
2200         (WebInspector.TextEditorMainChunk.prototype.get endLine):
2201         (WebInspector.TextEditorMainChunk.prototype.lineRowContainingLine):
2202         (WebInspector.TextEditorMainChunk.prototype.expandedLineRow):
2203
2204 2012-11-19  Erik Arvidsson  <arv@chromium.org>
2205
2206         Remove historical enums from ExceptionCode.h
2207         https://bugs.webkit.org/show_bug.cgi?id=102095
2208
2209         Reviewed by Ojan Vafai.
2210
2211         Remove unused enums from ExceptionCode.
2212
2213         No new tests. No tests affected.
2214
2215         * Modules/intents/NavigatorIntents.cpp:
2216         (WebCore::NavigatorIntents::webkitStartActivity): The error type for this is unspecified.
2217         * dom/DOMCoreException.cpp:
2218         * dom/ExceptionCode.h:
2219
2220 2012-11-20  Keishi Hattori  <keishi@webkit.org>
2221
2222         Week picker width is too small
2223         https://bugs.webkit.org/show_bug.cgi?id=102766
2224
2225         Reviewed by Kent Tamura.
2226
2227         The width of week picker was too small because we were forgetting about
2228         the week number column when calculating the desired width.
2229
2230         No new tests. Covered by week-picker-appearance*.html.
2231
2232         * Resources/pagepopups/calendarPicker.css:
2233         (.week-mode .week-column): Needs to be table-cell.
2234         * Resources/pagepopups/calendarPicker.js:
2235         (CalendarPicker.prototype.fixWindowSize):
2236
2237 2012-11-20  Xabier Rodriguez Calvar  <calvaris@igalia.com>
2238
2239         [GTK] no volume slider in HTML5 media element controls
2240         https://bugs.webkit.org/show_bug.cgi?id=97192
2241
2242         Reviewed by Philippe Normand.
2243
2244         r115829 was causing this regression so it was partially
2245         reverted. The revert causes some small regressions, in the tests
2246         but it is better to have the volume slider shown.
2247
2248         * css/mediaControlsGtk.css:
2249         (audio::-webkit-media-controls-panel)
2250         (video::-webkit-media-controls-panel): Partially reverted
2251         r115829.
2252
2253 2012-11-19  Antti Koivisto  <antti@apple.com>
2254
2255         Collect user style sheets in DocumentStyleSheetCollection
2256         https://bugs.webkit.org/show_bug.cgi?id=102683
2257
2258         Reviewed by Andreas Kling.
2259
2260         Move the user stylesheet collection logic from StyleResolver to DocumentStyleSheetCollection.
2261         
2262         * css/StyleResolver.cpp:
2263         (WebCore::StyleResolver::StyleResolver):
2264         (WebCore::StyleResolver::collectRulesFromUserStyleSheets):
2265         (WebCore::collectCSSOMWrappers):
2266         * css/StyleResolver.h:
2267         (StyleResolver):
2268         * dom/DocumentStyleSheetCollection.cpp:
2269         (WebCore::DocumentStyleSheetCollection::~DocumentStyleSheetCollection):
2270         (WebCore::DocumentStyleSheetCollection::pageUserStyleSheet):
2271         (WebCore::DocumentStyleSheetCollection::clearPageUserStyleSheet):
2272         (WebCore::DocumentStyleSheetCollection::updatePageUserStyleSheet):
2273         (WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange):
2274         (WebCore::collectActiveStyleSheetsFromSeamlessParents):
2275         (WebCore::DocumentStyleSheetCollection::updateStyleResolver):
2276         
2277             Factor the StyleResolver updating code to function.
2278
2279         (WebCore):
2280         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
2281         
2282             Collect the user style sheets. Some renaming and other minor refactoring.
2283
2284         (WebCore::DocumentStyleSheetCollection::reportMemoryUsage):
2285         * dom/DocumentStyleSheetCollection.h:
2286         (WebCore::DocumentStyleSheetCollection::activeUserStyleSheets):
2287         
2288             Add activeUserStyleSheets vector that contains all user stylesheets from different sources,
2289             similar to activeAuthorStyleSheets.
2290
2291         (DocumentStyleSheetCollection):
2292         (WebCore::DocumentStyleSheetCollection::documentUserStyleSheets):
2293
2294 2012-11-20  Elliott Sprehn  <esprehn@chromium.org>
2295
2296         Remove unneeded optimization in Element::isInTopLayer
2297         https://bugs.webkit.org/show_bug.cgi?id=102772
2298
2299         Reviewed by Andreas Kling.
2300
2301         There's no reason to worry about calling elementRareData() multiple
2302         times in this non performance sensitive code path as it's only used
2303         in HTMLDialogElement's showModal and close methods.
2304
2305         No new tests, just simplification.
2306
2307         * dom/Element.cpp:
2308         (WebCore::Element::setIsInTopLayer):
2309
2310 2012-11-20  Elliott Sprehn  <esprehn@chromium.org>
2311
2312         Simplify Element::isSpellCheckingEnabled
2313         https://bugs.webkit.org/show_bug.cgi?id=102779
2314
2315         Reviewed by Andreas Kling.
2316
2317         isSpellCheckingEnabled contains logic that duplicates parentOrHostElement
2318         and can be simplified by just calling that.
2319
2320         No new tests, just simplification.
2321
2322         * dom/Element.cpp:
2323         (WebCore::Element::isSpellCheckingEnabled):
2324
2325 2012-11-20  Kihong Kwon  <kihong.kwon@samsung.com>
2326
2327         Apply DeviceController as parent class of DeviceMotionController.
2328         https://bugs.webkit.org/show_bug.cgi?id=102578
2329
2330         Reviewed by Hajime Morita.
2331
2332         DeviceController needs to be applied as parent class of DeviceMotionController
2333         because DeviceController which is extracted as parent class of
2334         DeviceMotionController and DeviceOrientationController is already added.
2335         Therefore duplicated implementation can be removed.
2336
2337         Covered by existing tests.
2338
2339         * dom/DeviceMotionClient.h:
2340         * dom/DeviceMotionController.cpp:
2341         (WebCore::DeviceMotionController::DeviceMotionController):
2342         (WebCore::DeviceMotionController::didChangeDeviceMotion):
2343         (WebCore::DeviceMotionController::deviceMotionClient):
2344         (WebCore::DeviceMotionController::hasLastData):
2345         (WebCore::DeviceMotionController::getLastEvent):
2346         (WebCore::DeviceMotionController::from):
2347         (WebCore):
2348         * dom/DeviceMotionController.h:
2349         (WebCore):
2350         (WebCore::DeviceMotionController::~DeviceMotionController):
2351         (DeviceMotionController):
2352         * dom/Document.cpp:
2353         Remove all implementations which are related DeviceOrientationEvnet and DeviceMotionEvent.
2354         Because DeviceController checks suspend and stop status of active dom object before dispatchEvent.
2355         (WebCore::Document::suspendActiveDOMObjects):
2356         (WebCore::Document::resumeActiveDOMObjects):
2357         * loader/EmptyClients.h:
2358         * page/DOMWindow.cpp:
2359         (WebCore::DOMWindow::addEventListener):
2360         (WebCore::DOMWindow::removeEventListener):
2361         (WebCore::DOMWindow::removeAllEventListeners):
2362
2363 2012-11-20  Kentaro Hara  <haraken@chromium.org>
2364
2365         [V8] Remove V8ParameterBase
2366         https://bugs.webkit.org/show_bug.cgi?id=102774
2367
2368         Reviewed by Adam Barth.
2369
2370         V8ParameterBase is a redundant indirection.
2371         We can flatten methods of V8ParameterBase to V8Parameter.
2372
2373         No tests. No change in behavior.
2374
2375         * bindings/v8/V8StringResource.h:
2376         (WebCore::V8Parameter::V8Parameter):
2377         (V8Parameter):
2378         (WebCore::V8Parameter::toString):
2379         (WebCore::::prepare):
2380
2381 2012-11-20  Kunihiko Sakamoto  <ksakamoto@chromium.org>
2382
2383         Use localized date-time format in datetime input
2384         https://bugs.webkit.org/show_bug.cgi?id=102769
2385
2386         Reviewed by Kent Tamura.
2387
2388         Move the implementation of Locale::dateTimeFormatWithSeconds and Locale::dateTimeFormatWithoutSeconds
2389         to its subclasses and use platform-specific methods to get date-time pattern.
2390         Because Windows does not provide an API to get date-time pattern. We use fixed "{date} {time}"
2391         pattern for Windows.
2392
2393         Test: fast/forms/datetime/datetime-appearance-l10n.html
2394
2395         * platform/text/LocaleICU.cpp:
2396         (WebCore::LocaleICU::initializeDateTimeFormat): Retrieve datetime formats too.
2397         (WebCore::LocaleICU::dateTimeFormatWithSeconds): Added.
2398         (WebCore):
2399         (WebCore::LocaleICU::dateTimeFormatWithoutSeconds): Added.
2400         * platform/text/LocaleICU.h:
2401         (LocaleICU): Add m_dateTimeFormatWithSeconds and m_dateTimeFormatWithoutSeconds.
2402         * platform/text/LocaleNone.cpp:
2403         (LocaleNone):
2404         (WebCore::LocaleNone::dateTimeFormatWithSeconds): Added. Always returns "dd/MM/yyyyy HH:mm:ss".
2405         (WebCore):
2406         (WebCore::LocaleNone::dateTimeFormatWithoutSeconds): Added. Always returns "dd/MM/yyyyy HH:mm".
2407         * platform/text/PlatformLocale.cpp:
2408         (WebCore): Remove dateTimeFormatWithSeconds() and dateTimeFormatWithoutSeconds() as these are now pure virtual.
2409         * platform/text/PlatformLocale.h:
2410         (Locale): Make dateTimeFormatWithSeconds() and dateTimeFormatWithoutSeconds() pure virtual.
2411         * platform/text/mac/LocaleMac.h:
2412         (LocaleMac): Add m_dateTimeFormatWithSeconds and m_dateTimeFormatWithoutSeconds.
2413         * platform/text/mac/LocaleMac.mm:
2414         (WebCore::LocaleMac::dateTimeFormatterWithSeconds): Added.
2415         (WebCore):
2416         (WebCore::LocaleMac::dateTimeFormatterWithoutSeconds): Added.
2417         (WebCore::LocaleMac::dateTimeFormatWithSeconds): Added.
2418         (WebCore::LocaleMac::dateTimeFormatWithoutSeconds): Added.
2419         * platform/text/win/LocaleWin.cpp:
2420         (WebCore::LocaleWin::dateTimeFormatWithSeconds): Copied from original Locale::dateTimeFormatWithSeconds().
2421         (WebCore):
2422         (WebCore::LocaleWin::dateTimeFormatWithoutSeconds): Copied from original Locale::dateTimeFormatWithoutSeconds().
2423         * platform/text/win/LocaleWin.h:
2424         (LocaleWin): Add m_dateTimeFormatWithSeconds and m_dateTimeFormatWithoutSeconds.
2425
2426 2012-11-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2427
2428         Unreviewed, rolling out r135257.
2429         http://trac.webkit.org/changeset/135257
2430         https://bugs.webkit.org/show_bug.cgi?id=102777
2431
2432         Broke Chromium Debug compilation (Requested by yurys on
2433         #webkit).
2434
2435         * bindings/v8/DOMDataStore.h:
2436         (WebCore::DOMDataStore::getNode):
2437
2438 2012-11-20  Vsevolod Vlasov  <vsevik@chromium.org>
2439
2440         Web Inspector: Revert r133149: breaks revision reverting
2441         https://bugs.webkit.org/show_bug.cgi?id=102672
2442
2443         Reviewed by Yury Semikhatsky.
2444
2445         * inspector/front-end/JavaScriptSourceFrame.js:
2446         (WebInspector.JavaScriptSourceFrame):
2447         (WebInspector.JavaScriptSourceFrame.prototype._onFormattedChanged):
2448         (WebInspector.JavaScriptSourceFrame.prototype._onWorkingCopyCommitted):
2449         (WebInspector.JavaScriptSourceFrame.prototype._innerSetContent):
2450
2451 2012-11-19  Csaba Osztrogonác  <ossy@webkit.org>
2452
2453         [Qt][Win] Unreviewed speculative buildfix after r135217.
2454
2455         * platform/win/WindowsExtras.h:
2456
2457 2012-11-19  Yury Semikhatsky  <yurys@chromium.org>
2458
2459         Unreviewed. Fix Chromium Win compilation after r135255.
2460         https://bugs.webkit.org/show_bug.cgi?id=97803
2461
2462         * WebCore.gypi: removed reference to platform/wince/DragDataWince.cpp which
2463         was deleted in the aforementioned change.
2464
2465 2012-11-19  Kentaro Hara  <haraken@chromium.org>
2466
2467         [V8] Merge getCachedWrapper(Node*) into DOMDataStore
2468         https://bugs.webkit.org/show_bug.cgi?id=102158
2469
2470          Reviewed by Adam Barth.
2471
2472         A follow-up patch for r135230. This patch adds a correct ASSERTION.
2473
2474         No tests. No change in behavior.
2475
2476         * bindings/v8/DOMDataStore.h:
2477         (WebCore::DOMDataStore::getNode):
2478
2479 2012-11-19  Kentaro Hara  <haraken@chromium.org>
2480
2481         [JSC] Replace $implClassName with $interfaceName in CodeGeneratorJS.pm
2482         https://bugs.webkit.org/show_bug.cgi?id=102757
2483
2484         Reviewed by Adam Barth.
2485
2486         In CodeGeneratorJS.pm $implClassName and $interfaceName are
2487         equivalent. We're using them interchangeably. We should replace
2488         $implClassName with $interfaceName.
2489
2490         No tests. No change in behavior.
2491
2492         * bindings/scripts/CodeGeneratorJS.pm:
2493         (AddClassForwardIfNeeded):
2494         (GenerateGetOwnPropertySlotBody):
2495         (GenerateGetOwnPropertyDescriptorBody):
2496         (GenerateHeader):
2497         (GenerateOverloadedFunction):
2498         (GenerateImplementation):
2499         (GenerateParametersCheck):
2500         (GenerateImplementationFunctionCall):
2501         (NativeToJSValue):
2502
2503 2012-11-19  Patrick Gansterer  <paroga@webkit.org>
2504
2505         Port DragDataWin.cpp to WinCE
2506         https://bugs.webkit.org/show_bug.cgi?id=97803
2507
2508         Reviewed by Brent Fulgham.
2509
2510         Add two simple #if OS(WINCE) to DragDataWin.cpp, so it can be used by the WinCE port too.
2511
2512         * PlatformWinCE.cmake:
2513         * platform/win/DragDataWin.cpp:
2514         (WebCore::DragData::containsFiles):
2515         (WebCore::DragData::numberOfFiles):
2516         (WebCore::DragData::asFilenames):
2517         * platform/wince/DragDataWinCE.cpp: Removed.
2518
2519 2012-11-19  Pan Deng  <pan.deng@intel.com>
2520
2521         [Web Inspector] This patch makes script line number search-able in Timeline panel.
2522         https://bugs.webkit.org/show_bug.cgi?id=101910.
2523
2524         Reviewed by Pavel Feldman.
2525
2526         Script line number is visible in Timeline panel, however, not search-able. This patch makes it search-able.
2527
2528         No new tests. 
2529
2530         * inspector/front-end/TimelinePanel.js:
2531         (WebInspector.TimelineRecordListRow.prototype.update):
2532         (WebInspector.TimelineRecordListRow.testContentMatching):
2533         * inspector/front-end/TimelinePresentationModel.js:
2534         (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):
2535         (WebInspector.TimelinePresentationModel.Record.prototype._refreshDetails):
2536         (WebInspector.TimelinePresentationModel.Record.prototype.detailsNode):
2537         (WebInspector.TimelinePresentationModel.Record.prototype._createSpanWithText):
2538         (WebInspector.TimelinePresentationModel.Record.prototype._getRecordDetails):
2539
2540 2012-11-19  Elliott Sprehn  <esprehn@chromium.org>
2541
2542         Remove unneeded null check in NodeRendererFactory::createRendererIfNeeded
2543         https://bugs.webkit.org/show_bug.cgi?id=102765
2544
2545         Reviewed by Ojan Vafai.
2546
2547         If parentRenderer() was null then we return early from
2548         createRendererIfNeeded() because shouldCreateRenderer() will return false
2549         so there's no reason to check for it again.
2550
2551         Additionally if either parentRenderer() or style() is null then
2552         implementations of rendererIsNeeded() will crash, so add asserts to
2553         make this assumption more clear.
2554
2555         No new tests, just simplification.
2556
2557         * dom/NodeRenderingContext.cpp:
2558         (WebCore::NodeRendererFactory::createRendererIfNeeded):
2559
2560 2012-11-19  Shinya Kawanaka  <shinyak@chromium.org>
2561
2562         [Refactoring] Remove WebCore::isInsertionPoint(Node*)
2563         https://bugs.webkit.org/show_bug.cgi?id=102756
2564
2565         Reviewed by Hajime Morita.
2566
2567         Now that WebCore::isInsertionPoint(Node* node) does nothing special. We can remove this.
2568
2569         No new tests, simple refactoring.
2570
2571         * dom/ComposedShadowTreeWalker.cpp:
2572         (WebCore::ComposedShadowTreeWalker::traverseNodeEscapingFallbackContents):
2573         * dom/ContainerNode.cpp:
2574         (WebCore::childAttachedAllowedWhenAttachingChildren):
2575         * html/shadow/ContentDistributor.cpp:
2576         (WebCore::ContentDistributor::invalidate):
2577         * html/shadow/InsertionPoint.cpp:
2578         (WebCore::InsertionPoint::isActive):
2579         * html/shadow/InsertionPoint.h:
2580         (WebCore::toInsertionPoint):
2581         (WebCore::isActiveInsertionPoint):
2582         (WebCore::isLowerEncapsulationBoundary):
2583         (WebCore::parentNodeForDistribution):
2584         * testing/Internals.cpp:
2585         (WebCore::Internals::isValidContentSelect):
2586
2587 2012-11-19  Shinya Kawanaka  <shinyak@chromium.org>
2588
2589         [Refactoring] Remove shadowPseudoId() and use setPseudo() in <progress> ElementShadow.
2590         https://bugs.webkit.org/show_bug.cgi?id=101703
2591
2592         Reviewed by Hajime Morita.
2593
2594         We're migrating shadowPseudoId() to pseudo(). We remove shadowPseudoId() from HTMLKeygenElement and use
2595         setPseudo()/pseudo() instead.
2596
2597         No new tests, simple refactoring.
2598
2599         * html/shadow/ProgressShadowElement.cpp:
2600         (WebCore::ProgressInnerElement::ProgressInnerElement):
2601         * html/shadow/ProgressShadowElement.h:
2602         (ProgressInnerElement):
2603         (WebCore::ProgressBarElement::ProgressBarElement):
2604         (ProgressBarElement):
2605         (WebCore::ProgressValueElement::ProgressValueElement):
2606
2607 2012-11-19  Yury Semikhatsky  <yurys@chromium.org>
2608
2609         Unreviewed. Fix Chromium Debug compilation after r135230.
2610         https://bugs.webkit.org/show_bug.cgi?id=102158
2611
2612         Removed ASSERT that used instance field in a static method.
2613
2614         * bindings/v8/DOMDataStore.h:
2615         (WebCore::DOMDataStore::getWrapperFromObject):
2616
2617 2012-11-19  Chris Guan  <chris.guan@torchmobile.com.cn>
2618
2619         [Blackberry] When a frame is being detached, cancel all its network jobs.
2620         https://bugs.webkit.org/show_bug.cgi?id=102758
2621
2622         Reviewed by George Staikos.
2623
2624         I use FrameDestructionObserver to refactor Networkjob code.
2625         NetworkJob is inheriting from FrameDestructionObserver to be
2626         aware of frame's destroyed. When a frame is being detached,
2627         the willDetachPage() can be called in which we can cancel 
2628         the job. This patch reverted the fix for RIM PR134207 as well.
2629
2630         Manually test is on 
2631         "http://www.reuters.com/article/2012/01/27/us-greece-idUSTRE80P0DE20120127"
2632         which triggers a ping loader.
2633
2634         No behavior changed, no new layout tests.
2635
2636         * platform/network/blackberry/NetworkJob.cpp:
2637         (WebCore::NetworkJob::NetworkJob):
2638         (WebCore::NetworkJob::initialize):
2639         (WebCore::NetworkJob::handleNotifyHeaderReceived):
2640         (WebCore::NetworkJob::startNewJobWithRequest):
2641         (WebCore::NetworkJob::frameDestroyed):
2642         (WebCore):
2643         (WebCore::NetworkJob::willDetachPage):
2644         * platform/network/blackberry/NetworkJob.h:
2645         (NetworkJob):
2646         * platform/network/blackberry/NetworkManager.cpp:
2647         (WebCore::NetworkManager::startJob):
2648         * platform/network/blackberry/NetworkManager.h:
2649         (NetworkManager):
2650         * platform/network/blackberry/ResourceHandleBlackBerry.cpp:
2651         (WebCore::ResourceHandle::start):
2652         (WebCore::ResourceHandle::loadResourceSynchronously):
2653
2654 2012-11-19  Matt Falkenhagen  <falken@chromium.org>
2655
2656         Implement the new stacking layer needed by the Fullscreen API and the new <dialog> element
2657         https://bugs.webkit.org/show_bug.cgi?id=84796
2658
2659         Reviewed by Julien Chaffraix.
2660
2661         This adds the top layer element stack to Document. The Fullscreen
2662         specification mandates that we track the ordering of the DOM nodes in
2663         the top layer, not the renderers. That makes it hard to implement on
2664         the rendering side only.
2665
2666         Elements in the top layer get a layer. Layers in the top layer are
2667         added to the root layer's child list after normal layers and in the
2668         order of the top layer stack. This way, the top layer appears above
2669         all other stacking contexts and in the desired order.
2670
2671         In addition, top layer renderers are added as children of RenderView
2672         in top layer order. This is to satisfy requirements such as the
2673         containing block of an element in the top layer is the initial
2674         containing block. It also allows RenderLayer to know the proper
2675         stacking order of the layers without going directly from the top layer
2676         elements to their layers.
2677
2678         So far, only modal dialog elements can be added to the top layer.
2679         The plan is to make the Fullscreen API also use the top layer.
2680
2681         Tests: fast/dom/HTMLDialogElement/top-layer-containing-block.html
2682                fast/dom/HTMLDialogElement/top-layer-display-none.html
2683                fast/dom/HTMLDialogElement/top-layer-nesting.html
2684                fast/dom/HTMLDialogElement/top-layer-stacking-dynamic.html
2685                fast/dom/HTMLDialogElement/top-layer-stacking.html
2686
2687         * WebCore.exp.in:
2688         * css/StyleResolver.cpp:
2689         (WebCore::StyleResolver::adjustRenderStyle): Elements in the top layer have a stacking context.
2690         * dom/Document.cpp:
2691         (WebCore):
2692         (WebCore::Document::addToTopLayer):
2693         (WebCore::Document::removeFromTopLayer):
2694         * dom/Document.h:
2695         (Document):
2696         (WebCore::Document::topLayerElements): Add the top layer element stack to Document.
2697         * dom/Element.cpp:
2698         (WebCore::Element::removedFrom):
2699         (WebCore):
2700         (WebCore::Element::isInTopLayer):
2701         (WebCore::Element::setIsInTopLayer):
2702         * dom/Element.h:
2703         * dom/ElementRareData.h:
2704         (ElementRareData):
2705         * dom/Node.cpp:
2706         (WebCore::Node::detach): Add an exception to the assert since top layer elements and their descendants are moved from their
2707         regular position in the render tree.
2708         * dom/NodeRareData.h:
2709         (WebCore::NodeRareData::NodeRareData):
2710         (NodeRareData):
2711         (WebCore::NodeRareData::isInTopLayer):
2712         (WebCore::NodeRareData::setIsInTopLayer):
2713         * dom/NodeRenderingContext.cpp:
2714         (WebCore):
2715         (WebCore::adjustInsertionPointForTopLayerElement):
2716         (WebCore::NodeRendererFactory::createRendererIfNeeded): Add renderers for top layer elements as children of RenderView, and
2717         in top layer stacking order.
2718         * html/HTMLDialogElement.cpp:
2719         (WebCore::HTMLDialogElement::close):
2720         (WebCore::HTMLDialogElement::showModal):
2721         * rendering/RenderLayer.cpp:
2722         (WebCore):
2723         (WebCore::RenderLayer::isInTopLayer):
2724         (WebCore::RenderLayer::isInTopLayerSubtree):
2725         (WebCore::RenderLayer::rebuildZOrderLists): Add the top layer stack after normal layer collection.
2726         (WebCore::RenderLayer::collectLayers): Avoid adding layers for top layer elements during normal layer collection.
2727         * rendering/RenderLayer.h:
2728         (RenderLayer):
2729
2730 2012-11-19  Kentaro Hara  <haraken@chromium.org>
2731
2732         In CodeGeneratorObj.pm we should rename $dataNode to $interface.
2733         https://bugs.webkit.org/show_bug.cgi?id=102749
2734
2735         Reviewed by Adam Barth.
2736
2737         $dataNode is misnamed. It should be renamed to $interface.
2738
2739         No tests. No change in behavior.
2740
2741         * bindings/scripts/CodeGeneratorObjC.pm:
2742         (GenerateInterface):
2743         (GetParentImplClassName):
2744         (GetParentAndProtocols):
2745         (GenerateHeader):
2746         (GenerateImplementation):
2747
2748 2012-11-19  Kentaro Hara  <haraken@chromium.org>
2749
2750         In CodeGeneratorV8.pm, we should rename $dataNode to $interface
2751         https://bugs.webkit.org/show_bug.cgi?id=102747
2752
2753         Reviewed by Adam Barth.
2754
2755         $dataNode is misnamed. It should be $interface.
2756
2757         No tests. No change in behavior.
2758
2759         * bindings/scripts/CodeGeneratorV8.pm:
2760         (GenerateInterface):
2761         (NeedsCustomOpaqueRootForGC):
2762         (GetGenerateIsReachable):
2763         (GetCustomIsReachable):
2764         (GenerateOpaqueRootForGC):
2765         (GenerateHeader):
2766         (GetInternalFields):
2767         (GenerateHeaderCustomInternalFieldIndices):
2768         (GenerateHeaderNamedAndIndexedPropertyAccessors):
2769         (GenerateHeaderCustomCall):
2770         (IsConstructable):
2771         (GenerateConstructorGetter):
2772         (GenerateNormalAttrGetter):
2773         (GenerateReplaceableAttrSetter):
2774         (GenerateNormalAttrSetter):
2775         (GenerateOverloadedFunctionCallback):
2776         (GenerateFunctionCallback):
2777         (GenerateArgumentsCountCheck):
2778         (GenerateOverloadedConstructorCallback):
2779         (GenerateSingleConstructorCallback):
2780         (GenerateConstructorCallback):
2781         (GenerateEventConstructorCallback):
2782         (GenerateTypedArrayConstructorCallback):
2783         (GenerateNamedConstructorCallback):
2784         (GenerateBatchedAttributeData):
2785         (IsStandardFunction):
2786         (GenerateNonStandardFunction):
2787         (GenerateImplementationIndexer):
2788         (GenerateImplementationNamedPropertyGetter):
2789         (GenerateImplementationCustomCall):
2790         (GenerateImplementationMasqueradesAsUndefined):
2791         (GenerateImplementation):
2792         (GenerateHeaderContentHeader):
2793         (GenerateImplementationContentHeader):
2794         (GenerateCallbackHeader):
2795         (GenerateCallbackImplementation):
2796         (BaseInterfaceName):
2797         (GenerateToV8Converters):
2798         (GetNativeTypeForConversions):
2799         (GetTypeNameOfExternalTypedArray):
2800         (WriteData):
2801
2802 2012-11-19  Keishi Hattori  <keishi@webkit.org>
2803
2804         Move in animation should be disabled until the calendar picker is loaded.
2805         https://bugs.webkit.org/show_bug.cgi?id=102661
2806
2807         Reviewed by Kent Tamura.
2808
2809         On weeks where the first day is in the previous month (e.x. 2013-W01)
2810         the move in animation happens when you open the calendar picker. This
2811         patch disables the move in animation until the calendar picker is fully
2812         loaded.
2813
2814         No new tests.
2815
2816         * Resources/pagepopups/calendarPicker.js:
2817         (CalendarPicker):
2818         (CalendarPicker.prototype._handleWindowResize):
2819         (DaysTable.prototype._startMoveInAnimation):
2820
2821 2012-11-19  Elliott Sprehn  <esprehn@chromium.org>
2822
2823         Clean up loop in NodeRenderingContext::nextRenderer and previousRenderer
2824         https://bugs.webkit.org/show_bug.cgi?id=102743
2825
2826         Reviewed by Hajime Morita.
2827
2828         Clean up while (true) loops in NodeRenderingContext reducing the
2829         amount of code and the need for ASSERT_NOT_REACHED.
2830
2831         No new tests, just simplifcation.
2832
2833         * dom/NodeRenderingContext.cpp:
2834         (WebCore::NodeRenderingContext::nextRenderer):
2835         (WebCore::NodeRenderingContext::previousRenderer):
2836
2837 2012-11-19  Shinya Kawanaka  <shinyak@chromium.org>
2838
2839         [Shadow] attribute pseudo should return empty string instead of null when nothing is specified.
2840         https://bugs.webkit.org/show_bug.cgi?id=102753
2841
2842         Reviewed by Hajime Morita.
2843
2844         The ShadowDOM spec is changed so that attribute 'pseudo' returns empty string instead of null when
2845         no value is set.
2846
2847         Test: fast/dom/shadow/pseudo-attribute.html
2848
2849         * dom/Element.idl:
2850
2851 2012-11-19  Kentaro Hara  <haraken@chromium.org>
2852
2853         In CodeGeneratorGObject.pm we should rename $dataNode to $interface
2854         https://bugs.webkit.org/show_bug.cgi?id=102751
2855
2856         Reviewed by Adam Barth.
2857
2858         $dataNode is misnamed. It should be $interface.
2859
2860         No tests. No change in behavior.
2861
2862         * bindings/scripts/CodeGeneratorGObject.pm:
2863         (GetParentClassName):
2864         (GetParentGObjType):
2865         (GenerateProperties):
2866         (GenerateFunctions):
2867         (GenerateCFile):
2868         (GenerateEventTargetIface):
2869         (Generate):
2870         (WriteData):
2871         (GenerateInterface):
2872
2873 2012-11-19  Kentaro Hara  <haraken@chromium.org>
2874
2875         In CodeGenerator.pm we should rename $dataNode to $interface
2876         https://bugs.webkit.org/show_bug.cgi?id=102754
2877
2878         Reviewed by Adam Barth.
2879
2880         $dataNode is misnamed. It should be $interface.
2881
2882         No tests. No change in behavior.
2883
2884         * bindings/scripts/CodeGenerator.pm:
2885         (ForAllParents):
2886         (AddMethodsConstantsAndAttributesFromParentInterfaces):
2887         (FindSuperMethod):
2888         (IsConstructorTemplate):
2889         (LinkOverloadedFunctions):
2890         (GenerateCompileTimeCheckForEnumsIfNeeded):
2891         (GetVisibleInterfaceName):
2892         (IsSubType):
2893
2894 2012-11-19  Kentaro Hara  <haraken@chromium.org>
2895
2896         In CodeGeneratorCPP.pm we should rename $dataNode to $interface
2897         https://bugs.webkit.org/show_bug.cgi?id=102752
2898
2899         Reviewed by Adam Barth.
2900
2901         $dataNode is misnamed. It should be $interface.
2902
2903         No tests. No change in behavior.
2904
2905         * bindings/scripts/CodeGeneratorCPP.pm:
2906         (GenerateInterface):
2907         (GetParentImplClassName):
2908         (GetParent):
2909         (GenerateHeader):
2910         (GenerateImplementation):
2911
2912 2012-11-19  Kentaro Hara  <haraken@chromium.org>
2913
2914         In CodeGeneratorJS.pm we should rename $dataNode to $interface
2915         https://bugs.webkit.org/show_bug.cgi?id=102748
2916
2917         Reviewed by Adam Barth.
2918
2919         $dataNode is misnamed. It should be $interface.
2920
2921         No tests. No change in behavior.
2922
2923         * bindings/scripts/CodeGeneratorJS.pm:
2924         (GenerateInterface):
2925         (GetParentClassName):
2926         (GetGenerateIsReachable):
2927         (GetCustomIsReachable):
2928         (GenerateGetOwnPropertySlotBody):
2929         (GenerateGetOwnPropertyDescriptorBody):
2930         (GenerateHeaderContentHeader):
2931         (GenerateImplementationContentHeader):
2932         (ShouldGenerateToJSDeclaration):
2933         (ShouldGenerateToJSImplementation):
2934         (GenerateHeader):
2935         (GenerateAttributesHashTable):
2936         (GenerateOverloadedFunction):
2937         (GenerateImplementation):
2938         (GenerateArgumentsCountCheck):
2939         (GenerateParametersCheck):
2940         (GenerateCallbackHeader):
2941         (GenerateCallbackImplementation):
2942         (WriteData):
2943         (GenerateConstructorDeclaration):
2944         (GenerateConstructorDefinition):
2945         (IsConstructable):
2946
2947 2012-11-19  Adam Barth  <abarth@webkit.org>
2948
2949         [V8] Merge getCachedWrapper(Node*) into DOMDataStore
2950         https://bugs.webkit.org/show_bug.cgi?id=102158
2951
2952         Reviewed by Eric Seidel.
2953
2954         This patch is an incremental step towards fully merging the Node code
2955         path with the general code path. After this patch, at least Nodes flow
2956         through the same class.
2957
2958         * Modules/indexeddb/IDBTransactionCoordinator.h:
2959         * bindings/scripts/CodeGeneratorV8.pm:
2960         (GenerateHeader):
2961         (GenerateToV8Converters):
2962         * bindings/v8/DOMDataStore.h:
2963         (WebCore::DOMDataStore::getNode):
2964         (DOMDataStore):
2965         (WebCore::DOMDataStore::getWrapperFromObject):
2966         * bindings/v8/DOMWrapperWorld.cpp:
2967         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
2968         (WebCore):
2969         * bindings/v8/DOMWrapperWorld.h:
2970         (WebCore):
2971         (DOMWrapperWorld):
2972         * bindings/v8/V8DOMWrapper.h:
2973         (V8DOMWrapper):
2974
2975 2012-11-19  Kentaro Hara  <haraken@chromium.org>
2976
2977         In the IDL parser, we should rename $dataNode to $interface
2978         https://bugs.webkit.org/show_bug.cgi?id=102746
2979
2980         Reviewed by Adam Barth.
2981
2982         $dataNode is misnamed. It should be $interface.
2983
2984         No tests. No change in behavior.
2985
2986         * bindings/scripts/IDLParser.pm:
2987         (parseInterface):
2988         (parseException):
2989         (parseAttributeOrOperationRest):
2990         (parseOperationOrIterator):
2991         (parseSpecialOperation):
2992         (parseInterfaceOld):
2993         (parseExceptionOld):
2994         (parseAttributeOrOperationOrIteratorOld):
2995         (parseAttributeOrOperationRestOld):
2996         (applyMemberList):
2997         (applyExtendedAttributeList):
2998         * bindings/scripts/generate-bindings.pl:
2999         * bindings/scripts/preprocess-idls.pl:
3000         (checkIDLAttributes):
3001
3002 2012-11-19  Adam Klein  <adamk@chromium.org>
3003
3004         MutationObserver wrapper should not be collected while still observing
3005         https://bugs.webkit.org/show_bug.cgi?id=102328
3006
3007         Reviewed by Adam Barth.
3008
3009         Use the new opaqueRootForGC helper in V8GCController to put each
3010         MutationObserver wrapper in the same object group as the nodes it's
3011         observing.
3012
3013         Only includes V8 impl for now, JSC impl coming soon.
3014
3015         Tests: fast/mutation/observer-wrapper-dropoff-transient.html
3016                fast/mutation/observer-wrapper-dropoff.html
3017
3018         * bindings/v8/V8GCController.cpp: Add custom code for MutationObserver
3019         with a FIXME to move this out once we update the opaque roots API.
3020         * dom/MutationObserver.cpp:
3021         (WebCore::MutationObserver::getObservedNodes): Plumbing to expose the observed nodes
3022         to the GC controller.
3023         (WebCore):
3024         * dom/MutationObserver.h:
3025         * dom/MutationObserverRegistration.cpp:
3026         (WebCore::MutationObserverRegistration::addRegistrationNodesToSet): More plumbing.
3027         (WebCore):
3028         * dom/MutationObserverRegistration.h:
3029         (MutationObserverRegistration):
3030
3031 2012-11-19  Tony Chang  <tony@chromium.org>
3032
3033         Move more non-settings out of InternalSettings
3034         https://bugs.webkit.org/show_bug.cgi?id=102711
3035
3036         Reviewed by Adam Barth.
3037
3038         Remove userPreferredLanguages, setUserPreferredLanguages and allowRoundingHacks
3039         from internal.settings since they are already exposed by window.internals (in
3040         fact, no one calls the internal.settings version).
3041
3042         Move setUsesOverlayScrollbars from internals.settings to internals because it is
3043         a global (static) setting and not tied to the lifetime of the Settings object.
3044
3045         No new tests, there should be no behavior change since this is a refactor.
3046
3047         * testing/InternalSettings.cpp:
3048         (WebCore::InternalSettings::reset): Remove custom reset code.
3049         (WebCore::InternalSettings::setUsesOverlayScrollbars): Add exception code handling to make it more consistent with other settings setters.
3050         * testing/InternalSettings.h:
3051         * testing/InternalSettings.idl: Remove unnecessary methods.
3052         * testing/Internals.cpp:
3053         (WebCore::Internals::resetToConsistentState): Reset userPreferredLanguages, allowRoundingHacks and overlay scrollbars.
3054         (WebCore::Internals::userPreferredLanguages): Don't go through InternalSettings.
3055         (WebCore::Internals::setUserPreferredLanguages): Don't go through InternalSettings.
3056         (WebCore::Internals::setUsesOverlayScrollbars): Moved from InternalsSettings.
3057         (WebCore::Internals::allowRoundingHacks): Don't go through InternalSettings.
3058
3059 2012-11-19  David Grogan  <dgrogan@chromium.org>
3060
3061         IndexedDB: Complex series of opens/deleteDatabase fails an ASSERT
3062         https://bugs.webkit.org/show_bug.cgi?id=101810
3063
3064         Reviewed by Tony Chang.
3065
3066         Tests - storage/indexeddb/deletedatabase-delayed-by-versionchange.html
3067
3068         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3069         (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
3070         The condition tested by this assert is a valid state.
3071
3072 2012-11-19  Peter Wang  <peter.wang@torchmobile.com.cn>
3073
3074         Web Inspector: [JSC] worker debugger shouldn't stop for "willExecuteProgram" instruction
3075         https://bugs.webkit.org/show_bug.cgi?id=102637
3076
3077         Reviewed by Timothy Hatcher.
3078
3079         Override the interface "willExecuteProgram" to let WorkerScriptDebugServer to avoid to stop for it.
3080
3081         No new DRT test case. Sorry, so far it seems impossible to write a case to controle the popupped
3082         worker inspector window.
3083
3084         * bindings/js/ScriptDebugServer.cpp:
3085         (WebCore::ScriptDebugServer::createCallFrame):
3086         (WebCore::ScriptDebugServer::callEvent):
3087         (WebCore::ScriptDebugServer::willExecuteProgram):
3088         * bindings/js/ScriptDebugServer.h:
3089         (ScriptDebugServer):
3090         * bindings/js/WorkerScriptDebugServer.cpp:
3091         (WebCore::WorkerScriptDebugServer::willExecuteProgram):
3092         (WebCore):
3093         * bindings/js/WorkerScriptDebugServer.h:
3094         (WorkerScriptDebugServer):
3095
3096 2012-11-19  Pratik Solanki  <psolanki@apple.com>
3097
3098         For single element arrays use the pointer into the CFDataRef instead of copying data
3099         https://bugs.webkit.org/show_bug.cgi?id=102306
3100
3101         Reviewed by Brent Fulgham.
3102
3103         Address review comments for slightly nicer code.
3104
3105         * platform/SharedBuffer.cpp:
3106         (WebCore::SharedBuffer::data):
3107         * platform/cf/SharedBufferCF.cpp:
3108         (WebCore::SharedBuffer::singleDataArrayBuffer):
3109
3110 2012-11-19  Chris Rogers  <crogers@google.com>
3111
3112         Remove empirical bass-boost for HRTF spatialization
3113         https://bugs.webkit.org/show_bug.cgi?id=102745
3114
3115         Reviewed by Kenneth Russell.
3116
3117         Some empirically-based post-processing is being removed so that we'll
3118         now process with the exact HRTF impulse response measurements.
3119         Listening tests have determined that this post-processing is not necessary.
3120
3121         * platform/audio/HRTFElevation.cpp:
3122         (WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
3123         * platform/audio/HRTFKernel.cpp:
3124         (WebCore::HRTFKernel::HRTFKernel):
3125         * platform/audio/HRTFKernel.h:
3126         (WebCore::HRTFKernel::create):
3127         (HRTFKernel):
3128
3129 2012-11-19  Adam Barth  <abarth@webkit.org>
3130
3131         DISALLOW_COPY_AND_ASSIGN is not a WebKit macro
3132         https://bugs.webkit.org/show_bug.cgi?id=102755
3133
3134         Reviewed by Sam Weinig.
3135
3136         WTF_MAKE_NONCOPYABLE is the idiom we use in WebKit.  I don't understand
3137         how this compiles.
3138
3139         * Modules/indexeddb/IDBBackingStore.h:
3140         (RecordIdentifier):
3141
3142 2012-11-19  Chris Rogers  <crogers@google.com>
3143
3144         Implement .detune attribute for BiquadFilterNode
3145         https://bugs.webkit.org/show_bug.cgi?id=102737
3146
3147         Reviewed by Kenneth Russell.
3148
3149         Similar to OscillatorNode, BiquadFilterNode must have a .detune attribute
3150
3151         Tests changed: webaudio/biquad-lowpass.html
3152
3153         * Modules/webaudio/BiquadDSPKernel.cpp:
3154         (WebCore::BiquadDSPKernel::updateCoefficientsIfNecessary):
3155         * Modules/webaudio/BiquadFilterNode.h:
3156         (WebCore::BiquadFilterNode::detune):
3157         * Modules/webaudio/BiquadFilterNode.idl:
3158         * Modules/webaudio/BiquadProcessor.cpp:
3159         (WebCore::BiquadProcessor::BiquadProcessor):
3160         (WebCore::BiquadProcessor::checkForDirtyCoefficients):
3161         * Modules/webaudio/BiquadProcessor.h:
3162         (WebCore::BiquadProcessor::parameter4):
3163         (BiquadProcessor):
3164
3165 2012-11-19  Patrick Gansterer  <paroga@webkit.org>
3166
3167         [WIN] Add WebCore::getRegistryValue()
3168         https://bugs.webkit.org/show_bug.cgi?id=97828
3169
3170         Reviewed by Brent Fulgham.
3171
3172         The new function adds an abstraction to SHGetValue(), which isn't available on WinCE.
3173         Changing the existing files allows us to share more code between WinCE and WinNT in a next step.
3174
3175         * platform/win/MIMETypeRegistryWin.cpp:
3176         (WebCore::mimeTypeForExtension):
3177         (WebCore):
3178         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
3179         * platform/win/WindowsExtras.h:
3180         (WebCore::getRegistryValue):
3181         (WebCore):
3182         * plugins/win/PluginDatabaseWin.cpp:
3183         (WebCore::addPluginPathsFromRegistry):
3184         (WebCore::addWindowsMediaPlayerPluginDirectory):
3185         (WebCore::addQuickTimePluginDirectory):
3186         (WebCore::addAdobeAcrobatPluginDirectory):
3187         (WebCore::addJavaPluginDirectory):
3188
3189 2012-11-19  Alpha Lam  <hclam@chromium.org>
3190
3191         Not reviewed. Build fix for Chromium.
3192
3193         Added SkTypes.h includes for Windows.
3194
3195         * platform/graphics/chromium/ImageDecodingStore.h:
3196         * platform/graphics/chromium/ImageFrameGenerator.h:
3197         * platform/graphics/chromium/LazyDecodingPixelRef.h:
3198
3199 2012-11-19  Adam Barth  <abarth@webkit.org>
3200
3201         [V8] Simplify V8DOMWindowShell::getEntered
3202         https://bugs.webkit.org/show_bug.cgi?id=102156
3203
3204         Reviewed by Eric Seidel.
3205
3206         This patch is an incremental step towards merging
3207         V8DOMWrapper::getCachedWrapper(Node*) with the general case for looking
3208         up DOM wrappers. In order to merge with the general case, we need to
3209         get down to calling v8::Context::GetCurrent once, which means we need
3210         to factor the call to v8::Context::GetEntered out of V8DOMWindowShell.
3211
3212         As a side-benefit to this change, we can remove some redundant checks
3213         for isolatedWorldsExist and v8::Context::InContext from callers of
3214         V8DOMWindowShell::getEntered, including in getCachedWrapper.
3215
3216         * bindings/v8/DOMDataStore.cpp:
3217         (WebCore::DOMDataStore::current):
3218         * bindings/v8/ScriptController.cpp:
3219         (WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
3220         (WebCore::ScriptController::currentWorldContext):
3221         * bindings/v8/V8DOMWindowShell.h:
3222         (WebCore::V8DOMWindowShell::isolated):
3223         (WebCore::V8DOMWindowShell::perContextData):
3224         (WebCore::V8DOMWindowShell::world):
3225         (V8DOMWindowShell):
3226         * bindings/v8/V8DOMWrapper.h:
3227         (WebCore::V8DOMWrapper::getCachedWrapper):
3228         * bindings/v8/WorldContextHandle.cpp:
3229         (WebCore::WorldContextHandle::WorldContextHandle):
3230         * bindings/v8/custom/V8DocumentCustom.cpp:
3231         (WebCore::V8Document::dispatchWrapCustom):
3232         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
3233         (WebCore::V8HTMLDocument::dispatchWrapCustom):
3234         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
3235         (WebCore::V8SVGDocument::dispatchWrapCustom):
3236         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
3237         (WebCore::V8XMLHttpRequest::constructorCallback):
3238
3239 2012-11-19  Kentaro Hara  <haraken@chromium.org>
3240
3241         Rename idlDocument::classes to idlDocument::interfaces in the IDL parser
3242         https://bugs.webkit.org/show_bug.cgi?id=102671
3243
3244         Reviewed by Adam Barth.
3245
3246         Most part of code generators use 'interface'. The spec uses 'interface'.
3247         Thus, the IDL parser should use 'interface' instead of 'class'.
3248
3249         No tests. No change in behavior.
3250
3251         * bindings/scripts/CodeGenerator.pm:
3252         (ProcessDocument):
3253         (AddMethodsConstantsAndAttributesFromParentInterfaces):
3254         (ParseInterface):
3255         * bindings/scripts/CodeGeneratorCPP.pm:
3256         (GenerateImplementation):
3257         * bindings/scripts/CodeGeneratorJS.pm:
3258         (GenerateHeader):
3259         * bindings/scripts/CodeGeneratorObjC.pm:
3260         (GenerateImplementation):
3261         * bindings/scripts/CodeGeneratorV8.pm:
3262         (GenerateHeader):
3263         (GenerateFunctionCallback):
3264         * bindings/scripts/IDLParser.pm:
3265         (Parse):
3266         (parseModule):
3267         * bindings/scripts/generate-bindings.pl:
3268
3269 2012-11-19  Eric Carlson  <eric.carlson@apple.com>
3270
3271         HTMLMediaElement::configureTextTracks should configure all text tracks
3272         https://bugs.webkit.org/show_bug.cgi?id=102561
3273
3274         Reviewed by Philippe Normand.
3275
3276         No new tests, track-mode-not-changed-by-new-track.html was updated to test the changes.
3277
3278         * html/HTMLMediaElement.cpp:
3279         (WebCore::HTMLMediaElement::textTrackModeChanged): HTMLTrackElement -> TextTrack.
3280         (WebCore::HTMLMediaElement::willRemoveTrack): Ditto.
3281         (WebCore::HTMLMediaElement::configureTextTrackGroup): Ditto.
3282         (WebCore::HTMLMediaElement::configureTextTracks): Ditto.
3283         (WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured): Ditto.
3284         * html/HTMLMediaElement.h:
3285
3286         * html/HTMLTrackElement.cpp:
3287         (WebCore::HTMLTrackElement::HTMLTrackElement): Move hasBeenConfigured down to TextTrack.
3288         (WebCore::HTMLTrackElement::parseAttribute): isDefault is stored on TextTrack.
3289         (WebCore::HTMLTrackElement::ensureTrack): LoadableTextTrack constructor doesn't take 
3290             "default" argument.
3291         * html/HTMLTrackElement.h:
3292
3293         * html/track/LoadableTextTrack.cpp:
3294         (WebCore::LoadableTextTrack::LoadableTextTrack): Initialize m_isDefault to false.
3295         * html/track/LoadableTextTrack.h: 
3296         (WebCore::TextTrack::isDefault): Override base class implementation, because a track element
3297             can be flagged as default.
3298         (WebCore::TextTrack::setIsDefault): Ditto.
3299
3300         * html/track/TextTrack.cpp:
3301         (WebCore::TextTrack::TextTrack): Initialize m_hasBeenConfigured.
3302         * html/track/TextTrack.h:
3303         (WebCore::TextTrack::hasBeenConfigured): New, moved from HTMLTrackElement so other code doesn't
3304             need know what type of track it is calling.
3305         (WebCore::TextTrack::setHasBeenConfigured): Ditto.
3306         (WebCore::TextTrack::isDefault): Base, do nothing, implementation because only LoadableTextTrack
3307             can be "default".
3308         (WebCore::TextTrack::setIsDefault): Ditto.
3309
3310 2012-11-19  Huang Dongsung  <luxtella@company100.net>
3311
3312         Coordinated Graphics: refactor syncCanvas to handle the lifecycle clearly.
3313         https://bugs.webkit.org/show_bug.cgi?id=102664
3314
3315         Reviewed by Noam Rosenthal.
3316
3317         As refactoring Coordinated Graphics in WebKit2, code related to
3318         TextureMapper is changed.
3319
3320         No new tests. Refactoring only.
3321
3322         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3323         (GraphicsContext3DPrivate):
3324         (WebCore::GraphicsContext3DPrivate::platformLayerSize):
3325             We need to know the size of a texture mapper platform layer.
3326         (WebCore):
3327         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
3328           Because CoordinatedGraphicsLayer handles the canvas GraphicsSurface
3329           lifecycle, TextureMapperSurfaceBackingStore does not need to know
3330           GraphicsSurfaceToken.
3331         (WebCore::TextureMapperSurfaceBackingStore::setGraphicsSurface):
3332         (WebCore::TextureMapperSurfaceBackingStore::swapBuffersIfNeeded):
3333         (WebCore::TextureMapperSurfaceBackingStore::paintToTextureMapper):
3334         * platform/graphics/texmap/TextureMapperBackingStore.h:
3335         (TextureMapperSurfaceBackingStore):
3336         * platform/graphics/texmap/TextureMapperPlatformLayer.h:
3337         (WebCore::TextureMapperPlatformLayer::platformLayerSize):
3338
3339 2012-11-19  Alpha Lam  <hclam@chromium.org>
3340
3341         [chromium] Lazy image decoding without cache
3342         https://bugs.webkit.org/show_bug.cgi?id=102021
3343
3344         Reviewed by Stephen White.
3345
3346         Goal of this change is to make image decoding in ImageFrameGenerator
3347         completely lazy without caching. Image decoding logic is then removed
3348         from ImageDecodingStore.
3349
3350         These methods are removed.
3351         - ImageDecodingStore::lockPixels
3352         - ImageDecodingStore::unlockPixels
3353
3354         Instead image decoding and scaling is done in
3355         ImageFrameGenerator::decodeAndScale().
3356
3357         Unit tests are updated:
3358         DeferredImageDecoderTest::drawIntoSkPicture
3359         DeferredImageDecoderTest::drawScaledIntoSkPicture
3360
3361         Also covered by layout tests:
3362         platform/chromium/virtual/deferred
3363
3364         * platform/graphics/chromium/DeferredImageDecoder.cpp:
3365         (WebCore::DeferredImageDecoder::createLazyDecodingBitmap):
3366         * platform/graphics/chromium/ImageDecodingStore.h:
3367         (ImageDecodingStore):
3368         * platform/graphics/chromium/ImageFrameGenerator.cpp:
3369         (WebCore::ImageFrameGenerator::ImageFrameGenerator):
3370         (WebCore::ImageFrameGenerator::~ImageFrameGenerator):
3371         (WebCore::ImageFrameGenerator::setData):
3372         (WebCore::ImageFrameGenerator::decodeAndScale):
3373         * platform/graphics/chromium/ImageFrameGenerator.h:
3374         (WebCore::ImageFrameGenerator::create):
3375         (ImageFrameGenerator):
3376         * platform/graphics/chromium/LazyDecodingPixelRef.cpp:
3377         (WebCore::LazyDecodingPixelRef::onLockPixels):
3378         (WebCore::LazyDecodingPixelRef::onUnlockPixels):
3379         * platform/graphics/chromium/LazyDecodingPixelRef.h:
3380         (LazyDecodingPixelRef):
3381
3382 2012-11-19  Abhishek Arya  <inferno@chromium.org>
3383
3384         Crash in ApplyStyleCommand::cleanupUnstyledAppleStyleSpans.
3385         https://bugs.webkit.org/show_bug.cgi?id=100150
3386
3387         Reviewed by Ryosuke Niwa.
3388
3389         RefPtr startDummySpanAncestor and endDummySpanAncestor since
3390         they can go away inside fixRangeAndApplyInlineStyle call.
3391
3392         Test: editing/style/apply-style-crash.html
3393
3394         * editing/ApplyStyleCommand.cpp:
3395         (WebCore::ApplyStyleCommand::applyInlineStyle):
3396
3397 2012-11-19  Sheriff Bot  <webkit.review.bot@gmail.com>
3398
3399         Unreviewed, rolling out r135172.
3400         http://trac.webkit.org/changeset/135172
3401         https://bugs.webkit.org/show_bug.cgi?id=102710
3402
3403         Broke some WebKit2 api tests :( (Requested by japhet on
3404         #webkit).
3405
3406         * loader/DocumentLoader.cpp:
3407         (WebCore::DocumentLoader::DocumentLoader):
3408         (WebCore::DocumentLoader::~DocumentLoader):
3409         (WebCore::DocumentLoader::finishedLoading):
3410         (WebCore::DocumentLoader::clearMainResourceLoader):
3411         (WebCore::DocumentLoader::isLoadingInAPISense):
3412         (WebCore::DocumentLoader::documentURL):
3413         (WebCore::DocumentLoader::isLoadingMainResource):
3414         (WebCore::DocumentLoader::startLoadingMainResource):
3415         * loader/DocumentLoader.h:
3416         (DocumentLoader):
3417         * loader/FrameLoader.cpp:
3418         (WebCore::FrameLoader::FrameLoader):
3419         (WebCore::FrameLoader::init):
3420         * loader/FrameLoaderStateMachine.cpp:
3421         (WebCore::FrameLoaderStateMachine::FrameLoaderStateMachine):
3422         * loader/FrameLoaderStateMachine.h:
3423         * loader/MainResourceLoader.cpp:
3424         (WebCore::shouldLoadAsEmptyDocument):
3425         (WebCore):
3426         (WebCore::MainResourceLoader::continueAfterContentPolicy):
3427         (WebCore::MainResourceLoader::didReceiveResponse):
3428         (WebCore::MainResourceLoader::didFinishLoading):
3429         (WebCore::MainResourceLoader::handleEmptyLoad):
3430         (WebCore::MainResourceLoader::loadNow):
3431         (WebCore::MainResourceLoader::load):
3432         * loader/MainResourceLoader.h:
3433         (MainResourceLoader):
3434
3435 2012-11-19  Tony Chang  <tony@chromium.org>
3436
3437         Remove 'is' prefix from WebSettings::isWebSecurityEnabled and WebSettings::isSpatialNavigationEnabled
3438         https://bugs.webkit.org/show_bug.cgi?id=102548
3439
3440         Reviewed by Adam Barth.
3441
3442         This allows us to use Settings.in to generate the code for this.
3443
3444         I didn't rename any of the WebKit API methods with similar names because that would
3445         probably break consumers.  It turns out that the getter is only called from
3446         Source/WebKit/efl (most of the time, WebPreferences just sets values on Settings).
3447
3448         No new tests, just a refactor.
3449
3450         * WebCore.exp.in: Remove symbols that are now inlined.
3451         * WebCore.order: Remove symbols that are now inlined.
3452         * dom/Document.cpp:
3453         (WebCore::Document::initSecurityContext): Rename.
3454         * page/Settings.cpp:
3455         (WebCore::Settings::Settings): Remove code since it will be generated.
3456         * page/Settings.h:
3457         (Settings): Remove code since it will be generated.
3458         * page/Settings.in: Add entries to be generated.
3459         * page/SpatialNavigation.cpp:
3460         (WebCore::isSpatialNavigationEnabled): Fix caller.
3461
3462 2012-11-19  Yael Aharon  <yael.aharon@intel.com>
3463
3464         [EFL][TexMap] Complie error when considering warnings as errors
3465         https://bugs.webkit.org/show_bug.cgi?id=102705
3466
3467         Reviewed by Kenneth Rohde Christiansen.
3468
3469         Change GaussianKernelHalfWidth to unsigned.
3470
3471         No new tests.
3472
3473         * platform/graphics/texmap/TextureMapperGL.cpp:
3474         (WebCore):
3475
3476 2012-11-19  Sheriff Bot  <webkit.review.bot@gmail.com>
3477
3478         Unreviewed, rolling out r134830.
3479         http://trac.webkit.org/changeset/134830
3480         https://bugs.webkit.org/show_bug.cgi?id=102701
3481
3482         ActiveDOMObject is not applicable to MutationObservers due to
3483         being tied to a Document (Requested by aklein on #webkit).
3484
3485         * bindings/js/JSMutationObserverCustom.cpp:
3486         (WebCore::JSMutationObserverConstructor::constructJSMutationObserver):
3487         * bindings/v8/custom/V8MutationObserverCustom.cpp:
3488         (WebCore::V8MutationObserver::constructorCallback):
3489         * dom/MutationObserver.cpp:
3490         (WebCore::MutationObserver::create):
3491         (WebCore::MutationObserver::MutationObserver):
3492         (WebCore::MutationObserver::observationStarted):
3493         (WebCore::MutationObserver::observationEnded):
3494         * dom/MutationObserver.h:
3495         (WebCore):
3496         * dom/MutationObserver.idl:
3497
3498 2012-11-19  Brady Eidson  <beidson@apple.com>
3499
3500         NetworkProcess Authentication.
3501         https://bugs.webkit.org/show_bug.cgi?id=102592
3502
3503         Reviewed by Alexey Proskuryakov.
3504
3505         Change an ASSERT that assumes there should be a resource handle which is not true with the NetworkProcess.
3506
3507         Also export some more stuff.
3508
3509         No new tests (Platform support, no effect in tested configs).
3510
3511         * WebCore.exp.in:
3512
3513         * loader/ResourceLoader.cpp:
3514         (WebCore::ResourceLoader::didReceiveAuthenticationChallenge): Only ASSERT that the handle has a challenge if
3515           there is a handle.
3516
3517 2012-11-19  Alec Flett  <alecflett@chromium.org>