43f73c052df9077a6ccffdc4efed5dafa7a5d4b9
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-11-22  Eugene Klyuchnikov  <eustas.bug@gmail.com>
2
3         Web Inspector: No "Save Heap Snapshot" option after canceling save to file dialog.
4         https://bugs.webkit.org/show_bug.cgi?id=100916
5
6         Reviewed by Yury Semikhatsky.
7
8         Fixed order of operations - now receiver is assigned only when save
9         dialog responds.
10
11         * inspector/front-end/HeapSnapshotView.js: Fixed order of operations.
12
13 2012-11-23  Allan Sandfeld Jensen  <allan.jensen@digia.com>
14
15         [Qt] REGRESSION(r135507): It made 13 tests fail
16         https://bugs.webkit.org/show_bug.cgi?id=103069
17
18         Reviewed by Simon Hausmann.
19
20         The subframe loading logic depends on that script extensions are not recognized,
21         so avoid recognizing them in getMIMETypeForExtension which is used for pre-load
22         mimetype detection.
23
24         * platform/qt/MIMETypeRegistryQt.cpp:
25         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
26
27 2012-11-23  Jochen Eisinger  <jochen@chromium.org>
28
29         REGRESSION (r135455): Compilation without SVG enabled broken
30         https://bugs.webkit.org/show_bug.cgi?id=103108
31
32         Reviewed by Yury Semikhatsky.
33
34         Move SVG-only code behind #if ENABLE(SVG) that was accidentially moved
35         outside of the #if block during the refactoring.
36
37         * platform/graphics/filters/FilterOperation.h:
38         (ReferenceFilterOperation):
39
40 2012-11-23  Julian Pastarmov  <pastarmovj@chromium.org>
41
42         REGRESSION (r128633): td changes size during re-layout of table although it shouldn't
43         https://bugs.webkit.org/show_bug.cgi?id=102802
44
45         Reviewed by Ojan Vafai.
46
47         The bug was caused by incorrectly rewriting a nested condition which caused the else
48         clause to trigger in wrong cases.
49
50         Test: fast/table/nested-tables-with-div-offset.html
51
52         * rendering/RenderBox.cpp:
53         (WebCore::RenderBox::computePercentageLogicalHeight):
54         Reverted wrong combination of nested if statements.
55
56 2012-11-23  Allan Sandfeld Jensen  <allan.jensen@digia.com>
57
58         [Qt] REGRESSION(r135507): It made 13 tests fail
59         https://bugs.webkit.org/show_bug.cgi?id=103069
60
61         Reviewed by Simon Hausmann.
62
63         Fix regression in recognizing MHTML on some platforms.
64
65         * platform/qt/MIMETypeRegistryQt.cpp:
66         (ExtensionMap):
67         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
68         (WebCore::MIMETypeRegistry::getMIMETypeForPath):
69
70 2012-11-22  Pavel Feldman  <pfeldman@chromium.org>
71
72         Web Inspector: ctrl+end in editor does not select the last symbol.
73         https://bugs.webkit.org/show_bug.cgi?id=103078
74
75         Reviewed by Vsevolod Vlasov.
76
77         Test: inspector/editor/text-editor-selection.html
78
79         * inspector/front-end/DefaultTextEditor.js:
80         (WebInspector.DefaultTextEditor.prototype._handleScrollChanged):
81         (WebInspector.DefaultTextEditor.prototype.overrideViewportForTest):
82         (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
83         (WebInspector.TextEditorChunkedPanel.prototype._scrollTop):
84         (WebInspector.TextEditorChunkedPanel.prototype._clientHeight):
85         (WebInspector.TextEditorMainPanel.prototype._paintLineChunks):
86         (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
87         (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
88
89 2012-11-23  Yury Semikhatsky  <yurys@chromium.org>
90
91         Remove references to non-chromium entries from WebCore.gypi
92         https://bugs.webkit.org/show_bug.cgi?id=103103
93
94         Reviewed by Pavel Feldman.
95
96         * WebCore.gypi: Removed references to files specific for wince, cairo, qt, wx and efl.
97
98 2012-11-23  Alexander Pavlov  <apavlov@chromium.org>
99
100         Web Inspector: inspector overlay is always updated when inspector is open
101         https://bugs.webkit.org/show_bug.cgi?id=103106
102
103         Reviewed by Pavel Feldman.
104
105         Provide empty size into the InspectorOverlay if the metrics emulation is disabled,
106         so that it will not get painted in all cases.
107
108         * inspector/InspectorController.cpp:
109         (WebCore::InspectorController::webViewResized): Call InspectorPageAgent::webViewResized() rather than InspectorOverlay::resize().
110         * inspector/InspectorPageAgent.cpp:
111         (WebCore::InspectorPageAgent::webViewResized): Provide empty size into InspectorOverlay::resize() if device metrics are not emulated.
112         * inspector/InspectorPageAgent.h:
113
114 2012-11-23  Krzysztof Czech  <k.czech@samsung.com>
115
116         [EFL] Platform support for Accessibility feature.
117         https://bugs.webkit.org/show_bug.cgi?id=100848
118
119         Reviewed by Gyuyoung Kim.
120
121         Add EFL platform's definitions to enable proper accessibility routines.
122
123         No new tests. Covered by existing layout tests.
124
125         * PlatformEfl.cmake: Add accessibility/atk content to compilation.
126         * accessibility/AccessibilityObject.cpp:
127         (WebCore::AccessibilityObject::AccessibilityObject):
128         * accessibility/AccessibilityObject.h:
129         (AccessibilityObject):
130         * accessibility/efl/AccessibilityObjectEfl.cpp: Removed. No needed platform specific implementation. ATK shared implementation will be used.
131
132 2012-11-23  Thiago Marcos P. Santos  <thiago.santos@intel.com>
133
134         Expose DOM interface for CSS Device Adaptation
135         https://bugs.webkit.org/show_bug.cgi?id=95966
136
137         Reviewed by Kenneth Rohde Christiansen.
138
139         Added V8 and JSC bindings for CSS Device Adapation.
140
141         Test: css3/device-adapt/opera/cssom-001.xhtml
142
143         * CMakeLists.txt:
144         * DerivedSources.make:
145         * DerivedSources.pri:
146         * GNUmakefile.list.am:
147         * WebCore.gypi:
148         * WebCore.xcodeproj/project.pbxproj:
149         * bindings/js/JSCSSRuleCustom.cpp:
150         (WebCore::toJS):
151         * bindings/objc/DOMCSS.mm:
152         (kitClass):
153         * bindings/v8/custom/V8CSSRuleCustom.cpp:
154         (WebCore::wrap):
155         * css/CSSRule.idl:
156         * css/WebKitCSSViewportRule.idl: Added.
157         * page/DOMWindow.idl:
158
159 2012-11-22  Sheriff Bot  <webkit.review.bot@gmail.com>
160
161         Unreviewed, rolling out r135549.
162         http://trac.webkit.org/changeset/135549
163         https://bugs.webkit.org/show_bug.cgi?id=103102
164
165         Multiple layout test crashes (Requested by yurys on #webkit).
166
167         * rendering/RenderTable.cpp:
168         (WebCore::RenderTable::layout):
169         * rendering/RenderTable.h:
170         (RenderTable):
171
172 2012-11-22  Rick Byers  <rbyers@chromium.org>
173
174         window is missing Touch and TouchList - touch event conformance test failure
175         https://bugs.webkit.org/show_bug.cgi?id=96295
176
177         Reviewed by Adam Barth.
178
179         Add Touch and TouchList constructors to window for ENABLE(TOUCH_EVENTS).
180
181         Tests: fast/js/global-constructors.html
182                fast/events/touch/document-create-touch-list.html
183
184         * page/DOMWindow.idl:
185
186 2012-11-22  Dan Carney  <dcarney@google.com>
187
188         [V8] Make worker context prototype chain match other browsers
189         https://bugs.webkit.org/show_bug.cgi?id=103057
190
191         Reviewed by Adam Barth.
192
193         The following should be defined in a worker:
194         Object.getOwnPropertyDescriptor(this.__proto__, "postMessage")
195         It is currently undefined in chrome only. This patch fixes that.
196
197         No new tests. No change in functionality.
198
199         * bindings/scripts/CodeGeneratorV8.pm:
200         (GenerateImplementation):
201
202 2012-11-22  Rafael Brandao  <rafael.lobo@openbossa.org>
203
204         Remove PLATFORM(HAIKU) leftovers code
205         https://bugs.webkit.org/show_bug.cgi?id=103086
206
207         Reviewed by Antti Koivisto.
208
209         * platform/PlatformWheelEvent.h:
210         (PlatformWheelEvent):
211
212 2012-11-22  Dirk Schulze  <krit@webkit.org>
213
214         -webkit-mask shorthand switches -webkit-mask-clip and -webkit-mask-origin values
215         https://bugs.webkit.org/show_bug.cgi?id=103083
216
217         Reviewed by Antti Koivisto.
218
219         The order of CSSPropertyWebkitMaskOrigin and CSSPropertyWebkitMaskClip was not correct
220         for property value. Just changed the order in the property array to match behavior of
221         background and CSS Masking spec.
222
223         Test: fast/masking/parsing-mask.html
224
225         * css/StylePropertyShorthand.cpp:
226         (WebCore::webkitMaskShorthand):
227
228 2012-11-22  John Mellor  <johnme@chromium.org>
229
230         Text Autosizing: Improve handling of nested comments on reddit.com
231         https://bugs.webkit.org/show_bug.cgi?id=102409
232
233         Reviewed by Kenneth Rohde Christiansen.
234
235         No longer consider overflow != visible as requiring an independent
236         cluster. Some sites (e.g. reddit.com) wrap ordinary blocks (such as
237         comments) in overflow:hidden or overflow:auto, for various reasons
238         (like allowing it to be scrollable, or clipping an element that sticks
239         out). These reasons are not sufficient justification for a new cluster.
240
241         On reddit.com this means that comments will all get the same multiplier,
242         rather than being independently assigned a variety of multipliers based
243         on how much text each comment contains (etc), which significantly
244         improves the look.
245
246         Test: fast/text-autosizing/cluster-narrow-in-wide-ohidden.html
247
248         * rendering/TextAutosizer.cpp:
249         (WebCore::TextAutosizer::isAutosizingCluster):
250
251 2012-11-22  Pravin D  <pravind.2k4@gmail.com>
252
253         max-height property not respected in case of tables
254         https://bugs.webkit.org/show_bug.cgi?id=98633
255
256         Reviewed by Julien Chaffraix.
257
258         The max-height property determines the maximum computed height an element can have. In case of tables
259         the computed height was not being limited by the max-height property. The current patch fixes the same.
260
261         Test: fast/table/css-table-max-height.html
262
263         * rendering/RenderTable.cpp:
264         (WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):
265           Helper function to compute height from the given style height.
266           This function handles style height of type fixed, percent and viewport percent.
267           As height of type 'calculated' gets internally resolved to either fixed or percent
268           there is no special handling required for the same.
269
270         (WebCore):
271         (WebCore::RenderTable::layout):
272           Logic to compute the logical height of an element such that it does not exceed the max-height value given that
273           min-width < Content height < max-height, when min-height < max-height.
274           However max-height value is not respected if either min-height > max-height or Content height > max-height.
275
276         * rendering/RenderTable.h:
277         (RenderTable):
278           Function definition for the newly add function convertStyleLogicalHeightToComputedHeight().
279
280 2012-11-22  Kentaro Hara  <haraken@chromium.org>
281
282         Remove 'module' from IDL parser
283         https://bugs.webkit.org/show_bug.cgi?id=102670
284
285         Reviewed by Adam Barth.
286
287         The Web IDL spec no longer supports 'module'. We already removed
288         'module's from WebKit IDL files. So this patch removes 'module'
289         from the IDL parser.
290
291         No tests. No change in behavior.
292
293         * bindings/scripts/IDLParser.pm:
294         (Parse):
295         (parseDefinitionOld):
296
297 2012-11-22  Dan Carney  <dcarney@google.com>
298
299         [V8] fix DOMWrapperWorld destructor
300         https://bugs.webkit.org/show_bug.cgi?id=103066
301
302         Reviewed by Jochen Eisinger.
303
304         DOMWrapperWorld had a workaround in place during deletion.
305         This patch brings it in line with WebKit standards.
306
307         No new tests: refactor.
308
309         * bindings/v8/DOMWrapperWorld.cpp:
310         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
311         (WebCore::DOMWrapperWorld::ensureIsolatedWorld):
312         * bindings/v8/DOMWrapperWorld.h:
313         (DOMWrapperWorld):
314         (WebCore::DOMWrapperWorld::isolatedWorldDOMDataStore):
315
316 2012-11-22  Antti Koivisto  <antti@apple.com>
317
318         Remove SVGShadowText class
319         https://bugs.webkit.org/show_bug.cgi?id=103088
320
321         Reviewed by Ryosuke Niwa.
322
323         Remove SVGShadowText class and merge the little functionality it has to Text.
324
325         * dom/Text.cpp:
326         (WebCore):
327         (WebCore::isSVGShadowText):
328         
329             Figure out if we are a SVGShadowText from the context.
330
331         (WebCore::isSVGText):
332         (WebCore::Text::createRenderer):
333         (WebCore::Text::recalcTextStyle):
334         
335             Factor SVG special case testing to functions.
336
337         * dom/Text.h:
338         (Text):
339
340             Get rid of the now unnecessary willRecalcTextStyle mechanism.
341
342         * svg/SVGTRefElement.cpp:
343         (WebCore):
344         (WebCore::SVGTRefElement::updateReferencedText):
345
346 2012-11-22  Andreas Kling  <akling@apple.com>
347
348         Style sharing: Remove O(n^2) presentation attribute checks that never found anything anyway.
349         <http://webkit.org/b/103019>
350
351         Reviewed by Ojan Vafai.
352
353         Rely on the global presentation attribute cache and remove the slow-path code that compares
354         the full StylePropertySets for attribute-derived style.
355         There are virtually no cases of logically equivalent presentation attribute styles that don't
356         already share the same memory address. (Zero hits on Apple and Chromium PLT content.)
357
358         * css/StyleResolver.cpp:
359         (WebCore::haveIdenticalStyleAffectingAttributes):
360         (WebCore::StyleResolver::canShareStyleWithElement):
361
362 2012-11-22  Pavel Feldman  <pfeldman@chromium.org>
363
364         Web Inspector: evaluate on hover regressed with the editor change
365         https://bugs.webkit.org/show_bug.cgi?id=103063
366
367         Reviewed by Vsevolod Vlasov.
368
369         We are no longer mutating the editor's dom from outside.
370
371         * inspector/front-end/DOMExtension.js:
372         (Element.prototype.remove):
373         * inspector/front-end/DefaultTextEditor.js:
374         (WebInspector.DefaultTextEditor.prototype.highlightRangesWithStyleClass):
375         (WebInspector.DefaultTextEditor.prototype.highlightExpression):
376         (WebInspector.DefaultTextEditor.prototype.hideHighlightedExpression):
377         * inspector/front-end/JavaScriptSourceFrame.js:
378         (WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):
379         (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
380         (WebInspector.JavaScriptSourceFrame.prototype._highlightExpression):
381
382 2012-09-26  Gustavo Noronha Silva  <gns@gnome.org>
383
384         [GTK] Split SVG from WebCore to work-around make limitation
385         https://bugs.webkit.org/show_bug.cgi?id=97735
386
387         Reviewed by Carlos Garcia Campos.
388
389         Add a new libtool convenience library, libWebCoreSVG.la, to work-around
390         make limitation when linking libWebCore.
391
392         * GNUmakefile.am: new libWebCoreSVG.la library.
393         * GNUmakefile.list.am: move SVG-related files to be part of the new library.
394
395 2012-11-22  Pan Deng  <pan.deng@intel.com>
396
397         [Web Inspector]Code Style changes in TimelinePresentationModel.js.
398         https://bugs.webkit.org/show_bug.cgi?id=102885.
399
400         Reviewed by Pavel Feldman.
401
402         This patch changes "switch" code style for TimelinePresentationModel.js, no functionality update.
403
404         No new tests.
405
406         * inspector/front-end/TimelinePresentationModel.js:
407         (WebInspector.TimelinePresentationModel.Record.prototype._getRecordDetails):
408
409 2012-11-22  Ryosuke Niwa  <rniwa@webkit.org>
410
411         Build fix attempt.
412
413         * html/HTMLCollection.h:
414         (HTMLCollection):
415
416 2012-11-22  Ryosuke Niwa  <rniwa@webkit.org>
417
418         Get rid of HTMLCollectionCacheBase
419         https://bugs.webkit.org/show_bug.cgi?id=103085
420
421         Reviewed by Sam Weinig.
422
423         Merged HTMLCollectionCacheBase into HTMLCollection now that DynamicNodeList and HTMLCollection
424         share one implementation.
425
426         * dom/DynamicNodeList.cpp:
427         (WebCore::DynamicNodeListCacheBase::rootNode): Merged ownerNodeHasItemRefAttribute since this was
428         the only caller of this function, and the function name didn't match what it was checking.
429         (WebCore::DynamicNodeListCacheBase::invalidateCache):
430         (WebCore::DynamicNodeListCacheBase::invalidateIdNameCacheMaps):
431         * dom/DynamicNodeList.h:
432         (WebCore):
433         (WebCore::DynamicNodeListCacheBase::cachedItemOffset):
434         (DynamicNodeListCacheBase):
435         * html/HTMLCollection.cpp:
436         (WebCore::HTMLCollection::HTMLCollection):
437         (WebCore::DynamicNodeListCacheBase::setItemCache):
438         (WebCore::DynamicNodeListCacheBase::itemBeforeOrAfterCachedItem): Merged cachedElementsArrayOffset()
439         now that this is the only caller.
440         (WebCore::HTMLCollection::append):
441         * html/HTMLCollection.h:
442         (HTMLCollection):
443         (WebCore::HTMLCollection::idCache): Moved from HTMLCollectionCacheBase.
444         (WebCore::HTMLCollection::nameCache): Ditto.
445         (WebCore::HTMLCollection::appendIdCache): Ditto.
446         (WebCore::HTMLCollection::appendNameCache): Ditto.
447
448 2012-11-22  Antti Koivisto  <antti@apple.com>
449
450         Merge EditingText into Text
451         https://bugs.webkit.org/show_bug.cgi?id=103060
452
453         Reviewed by Ryosuke Niwa.
454
455         Remove the EditingText class. Its only function beyond the regular Text is that it always creates a renderer.
456         It can be replaced with a bit.
457
458         * CMakeLists.txt:
459         * GNUmakefile.list.am:
460         * Target.pri:
461         * WebCore.gypi:
462         * WebCore.vcproj/WebCore.vcproj:
463         * WebCore.xcodeproj/project.pbxproj:
464         * dom/CDATASection.cpp:
465         (WebCore::CDATASection::CDATASection):
466         * dom/Document.cpp:
467         (WebCore::Document::createEditingTextNode):
468         * dom/Document.h:
469         (WebCore):
470         (Document):
471         * dom/EditingText.cpp: Removed.
472         * dom/EditingText.h: Removed.
473         * dom/Node.h:
474         (WebCore::Node::hasName):
475         (WebCore::Node::isEditingText):
476         (WebCore::Node::setHasName):
477         
478             Use the same bit as hasName() which is Element specific.
479
480         * dom/Text.cpp:
481         (WebCore::Text::create):
482         (WebCore):
483         (WebCore::Text::createEditingText):
484         (WebCore::Text::rendererIsNeeded):
485         * dom/Text.h:
486         (Text):
487         (WebCore::Text::Text):
488         * editing/Editor.cpp:
489         * editing/InsertTextCommand.cpp:
490         * editing/ReplaceSelectionCommand.cpp:
491         * editing/htmlediting.cpp:
492         * editing/mac/EditorMac.mm:
493         * page/Frame.cpp:
494
495 2012-11-22  Eugene Klyuchnikov  <eustas.bug@gmail.com>
496
497         Web Inspector: Timeline: Disclosure arrows rendered underneath frame boundaries
498         https://bugs.webkit.org/show_bug.cgi?id=101053
499
500         Reviewed by Yury Semikhatsky.
501
502         In Timeline, when in "frames" mode, event disclosure arrows are rendered
503         below the dividing lines for the frame (div.timeline-frame-divider).
504         When this happens, the frame divider can capture mouse clicks and make
505         it difficult to open the disclosure arrow.
506
507         * inspector/front-end/timelinePanel.css:
508         (#timeline-grid-header): Render dividers under timeline bars.
509
510 2012-11-22  Huang Dongsung  <luxtella@company100.net>
511
512         [TexMap] Reduce public methods of TextureMapperTiledBackingStore.
513         https://bugs.webkit.org/show_bug.cgi?id=103032
514
515         Reviewed by Noam Rosenthal.
516
517         This patch makes two methods private and removes one method.
518
519         No new tests, refactoring only.
520
521         * platform/graphics/texmap/TextureMapperBackingStore.cpp:
522         (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
523         * platform/graphics/texmap/TextureMapperBackingStore.h:
524         (WebCore::TextureMapperTiledBackingStore::create):
525         (TextureMapperTiledBackingStore):
526         (WebCore::TextureMapperTiledBackingStore::setContentsToImage):
527         (WebCore::TextureMapperTiledBackingStore::rect):
528
529 2012-11-22  Simon Hausmann  <simon.hausmann@digia.com>, Pierre Rossi <pierre.rossi@digia.com>
530
531         [Qt] Separate QWidget dependant code into separate WebKitWidgets static library
532         https://bugs.webkit.org/show_bug.cgi?id=102800
533
534         Reviewed by Tor Arne Vestbø.
535
536         This patch separates code that needs to use QWidget related APIs in
537         WebKit/qt/WebCoreSupport and Api from code that doesn't. This means for
538         example FrameLoaderClientQt.cpp remains in the WebKit1 static library,
539         while qwebpage.cpp and qwebframe.cpp become part of the WebKitWidgets
540         static library. WebKit1 is compiled without QT += widgets and therefore
541         any widget related dependency has been moved "up" and out of WebKit1 into
542         the WebKitWidgets library.
543
544         Between the code in WebKit.a and WebKitWidgets.a new adapters and
545         interfaces have been introduced, such as QWebPageAdapter and
546         QWebFrameAdapter. QWebPageAdapter, when used from WebKit1, is a way to
547         call out into the API layer, implemented by QWebPage (QWebPagePrivate).
548         The other way around if QWebPage wants to access WebCore or
549         WebCoreSupport related functionality, it will go through
550         QWebPageAdapater (as base class). The separation in the direction up
551         into the API layer is complete with this patch, no code in WebKit1
552         depends on QtWidgets. The separation the other way around, code in the
553         API layer not using any WebCore types, is not complete yet.
554
555         Some classes such as QWebSettings, QWebElement or
556         DumpRenderTreeSupportQt remain in WebKit1. While they are API layer,
557         they do not depend on widget related Qt APIs and they make much more
558         use of WebCore internal APIs and therefore are easier to keep in
559         WebKit1.
560
561         In the future we plan to place a real shared library boundary between
562         WebKit1 and WebKitWidgets, by keeping the WebKit1 static library as
563         part of the QtWebKit shared library and by turning the WebKitWidgets
564         static library into a shared one.
565
566         * platform/qt/QWebPageClient.h:
567         (QWebPageClient):
568
569 2012-11-22  Dan Carney  <dcarney@google.com>
570
571         [V8] Add context checks to WorldContextHandle and V8DOMWindowShell
572         https://bugs.webkit.org/show_bug.cgi?id=101573
573
574         Reviewed by Adam Barth.
575
576         Added a bunch of assertions to ensure the problems with IndexedDB
577         contexts cannot reemerge.
578
579         No new tests. No change in functionality.
580
581         * bindings/v8/V8DOMWindowShell.cpp:
582         (WebCore):
583         (WebCore::V8DOMWindowShell::assertContextHasCorrectPrototype):
584         * bindings/v8/V8DOMWindowShell.h:
585         (V8DOMWindowShell):
586         (WebCore::V8DOMWindowShell::isolated):
587         * bindings/v8/WorldContextHandle.cpp:
588         (WebCore::WorldContextHandle::WorldContextHandle):
589
590 2012-11-22  Allan Sandfeld Jensen  <allan.jensen@digia.com>
591
592         [Qt] Correct extensions on preferredFilename
593         https://bugs.webkit.org/show_bug.cgi?id=103054
594
595         Reviewed by Simon Hausmann.
596
597         When guessing a filename we will now ensure it has an extension that is valid for its mimetype.
598         To do this the two missing methods getExtensionsForMIMEType and getPreferredExtensionForMIMEType
599         have been added to the Qt implementation of MIMETypeRegistry.
600
601         * platform/network/qt/QNetworkReplyHandler.cpp:
602         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
603         * platform/qt/MIMETypeRegistryQt.cpp:
604         (WebCore::MIMETypeRegistry::getExtensionsForMIMEType):
605         (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
606
607 2012-11-22  Kent Tamura  <tkent@chromium.org>
608
609         INPUT_MULTIPLE_FIELDS_UI: Refactoring: Do not call updateInnerTextValue if only read-only sub-fields have values
610         https://bugs.webkit.org/show_bug.cgi?id=103033
611
612         Reviewed by Kentaro Hara.
613
614         input[type=time] can have read-only sub fields. If only read-only fields
615         have values, we don't need to call updateInnerTextValue when
616         HTMLInputElement::value is set to "".
617
618         Tests: this patch doesn't change any visible behavior, but we add test cases to
619         fast/forms/time-multiple-fields/time-multiple-fields-value-set-empty.html
620         just in case.
621
622         * html/shadow/DateTimeEditElement.h:
623         (DateTimeEditElement): Declare anyEditableFieldsHaveValues.
624         * html/shadow/DateTimeEditElement.cpp:
625         (WebCore::DateTimeEditElement::anyEditableFieldsHaveValues):
626         Added. This function checks value existence against only editable sub-fields.
627         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
628         (WebCore::BaseMultipleFieldsDateAndTimeInputType::setValue):
629         Call DateTimeEditElement::anyEditableFieldsHaveValues() instead of
630         DateTimeFieldsState::hasAnyValue().
631         * html/DateTimeFieldsState.h: Remove hasAnyValue.
632
633 2012-11-22  Allan Sandfeld Jensen  <allan.jensen@digia.com>
634
635         [Qt] Lookup mimetypes using QMimeDatabase
636         https://bugs.webkit.org/show_bug.cgi?id=102667
637
638         Reviewed by Simon Hausmann.
639
640         The Qt backend of MIMETypeRegistry now looks up using QMimeDatabase.
641
642         * loader/archive/ArchiveFactory.cpp:
643         (WebCore::archiveMIMETypes):
644             Also map the preferred freedesktop mimetype for MIME archives to MIME archive constructor.
645         * platform/MIMETypeRegistry.cpp:
646         (WebCore::MIMETypeRegistry::getNormalizedMIMEType):
647         * platform/qt/MIMETypeRegistryQt.cpp:
648         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
649         (WebCore::MIMETypeRegistry::getMIMETypeForPath):
650         (WebCore::MIMETypeRegistry::getNormalizedMIMEType):
651
652 2012-11-22  Cosmin Truta  <ctruta@rim.com>
653
654         Move URL-checking code into Frame
655         https://bugs.webkit.org/show_bug.cgi?id=103014
656
657         Reviewed by Ojan Vafai.
658
659         Move the common URL checking logic from HTMLFrameElementBase::isURLAllowed
660         and HTMLPlugInImageElement::allowedToLoadFrameURL into Frame::isURLAllowed.
661
662         No new tests. Refactoring.
663
664         * html/HTMLFrameElementBase.cpp:
665         (WebCore::HTMLFrameElementBase::isURLAllowed): Call Frame::isURLAllowed.
666         * html/HTMLPlugInImageElement.cpp:
667         (WebCore::HTMLPlugInImageElement::allowedToLoadFrameURL): Call Frame::isURLAllowed.
668         * page/Frame.cpp:
669         (WebCore::Frame::isURLAllowed): Added.
670         * page/Frame.h:
671         (Frame): Added isURLAllowed.
672
673 2012-11-22  Kentaro Hara  <haraken@chromium.org>
674
675         [V8] Rename toWebCoreStringWithNullOrUndefinedCheck() with toWebCoreStringWithUndefinedOrNullCheck()
676         https://bugs.webkit.org/show_bug.cgi?id=103013
677
678         Reviewed by Adam Barth.
679
680         IDL attributes and other V8 and JSC files use "UndefinedOrNull" instead of "NullOrUndefined".
681
682         No tests. No change in behavior.
683
684         * bindings/v8/JavaScriptCallFrame.cpp:
685         (WebCore::JavaScriptCallFrame::functionName):
686         * bindings/v8/ScriptDebugServer.cpp:
687         (WebCore::ScriptDebugServer::setScriptSource):
688         (WebCore::ScriptDebugServer::dispatchDidParseSource):
689         (WebCore::ScriptDebugServer::compileScript):
690         (WebCore::ScriptDebugServer::runScript):
691         * bindings/v8/ScriptEventListener.cpp:
692         (WebCore::eventListenerHandlerLocation):
693         * bindings/v8/V8Binding.h:
694         (WebCore::toWebCoreStringWithUndefinedOrNullCheck):
695         * bindings/v8/custom/V8DOMWindowCustom.cpp:
696         (WebCore::V8DOMWindow::showModalDialogCallback):
697         (WebCore::V8DOMWindow::openCallback):
698         * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:
699         (WebCore::V8JavaScriptCallFrame::evaluateCallback):
700
701 2012-11-22  Harald Alvestrand  <hta@google.com>
702
703         Name enumerator function for GetStats RTCStatsElement
704         https://bugs.webkit.org/show_bug.cgi?id=102933
705
706         Reviewed by Adam Barth.
707
708         Tested by extensions to the RTCPeerConnection-stats test.
709
710         * Modules/mediastream/RTCStatsElement.cpp:
711         (WebCore::RTCStatsElement::names):
712         (WebCore):
713         * Modules/mediastream/RTCStatsElement.h:
714         (RTCStatsElement):
715         * Modules/mediastream/RTCStatsElement.idl:
716
717 2012-11-22  Kentaro Hara  <haraken@chromium.org>
718
719         Rename the "eden" bit to something more descriptive
720         https://bugs.webkit.org/show_bug.cgi?id=102985
721
722         Reviewed by Adam Barth.
723
724         InEdenFlag is not descriptive. Per the discussion in IRC,
725         we rename InEdenFlag to V8CollectableDuringMinorGCFlag.
726
727         No tests. No change in behavior.
728
729         * bindings/v8/V8GCController.cpp:
730         (WebCore::gcTree):
731         (WebCore::V8GCController::didCreateWrapperForNode):
732         (WebCore::V8GCController::minorGCPrologue):
733         * dom/Node.h:
734         (WebCore::Node::isV8CollectableDuringMinorGC):
735         (WebCore::Node::setV8CollectableDuringMinorGC):
736
737 2012-11-22  Kentaro Hara  <haraken@chromium.org>
738
739         [V8] Move AddMessageListener() from WorkerContextExecutionProxy::initializeIfNeeded() to WorkerContextExecutionProxy::initIsolate()
740         https://bugs.webkit.org/show_bug.cgi?id=102998
741
742         Reviewed by Adam Barth.
743
744         This is an incremental step for moving initializeIfNeeded()
745         to V8Initializer.h. Given that AddMessageListener() needs to
746         be called once per Isolate, we can move AddMessageListener()
747         from initializeIfNeeded() to initIsolate().
748
749         No tests. No change in behavior.
750
751         * bindings/v8/WorkerContextExecutionProxy.cpp:
752         (WebCore::WorkerContextExecutionProxy::initIsolate):
753         (WebCore::WorkerContextExecutionProxy::initializeIfNeeded):
754
755 2012-11-22  Michael Saboff  <msaboff@apple.com>
756
757         HTML integer parsing functions don't natively handle 8 bit strings
758         https://bugs.webkit.org/show_bug.cgi?id=102997
759
760         Reviewed by Filip Pizlo.
761
762         In order to avoid unnecessary up convering of 8 bit strings to 16 bits, added 8 bit paths to
763         parseHTMLInteger() and parseHTMLNonNegativeInteger() by breaking out the core logic into
764         templated helper functions.  These methods are primarily used to process attribute values.
765
766         No new tests needed, functionnality covered by existing tests.
767
768         * html/parser/HTMLParserIdioms.cpp:
769         (WebCore::parseHTMLIntegerInternal):
770         (WebCore::parseHTMLInteger):
771         (WebCore::parseHTMLNonNegativeIntegerInternal):
772         (WebCore::parseHTMLNonNegativeInteger):
773
774 2012-11-22  Kentaro Hara  <haraken@chromium.org>
775
776         [V8] WebCoreStringResourceBase should be located in V8StringResource.h
777         https://bugs.webkit.org/show_bug.cgi?id=103002
778
779         Reviewed by Adam Barth.
780
781         Currently WebCoreStringResourceBase is mis-located in V8ValueCache.h.
782         It should be in V8StringResource.h.
783
784         No tests. No change in behavior.
785
786         * bindings/v8/V8StringResource.cpp:
787         (WebCore::WebCoreStringResourceBase::toWebCoreStringResourceBase):
788         (WebCore):
789         (WebCore::WebCoreStringResourceBase::visitStrings):
790         * bindings/v8/V8StringResource.h:
791         (WebCore):
792         (WebCoreStringResourceBase):
793         (WebCore::WebCoreStringResourceBase::WebCoreStringResourceBase):
794         (WebCore::WebCoreStringResourceBase::~WebCoreStringResourceBase):
795         (WebCore::WebCoreStringResourceBase::webcoreString):
796         (WebCore::WebCoreStringResourceBase::atomicString):
797         (WebCore::WebCoreStringResourceBase::memoryConsumption):
798         (WebCoreStringResource16):
799         (WebCore::WebCoreStringResource16::WebCoreStringResource16):
800         (WebCoreStringResource8):
801         (WebCore::WebCoreStringResource8::WebCoreStringResource8):
802         * bindings/v8/V8ValueCache.cpp:
803         * bindings/v8/V8ValueCache.h:
804         (WebCore):
805
806 2012-11-21  Ilya Tikhonovsky  <loislo@chromium.org>
807
808         Web Inspector: NMI add instrumentation to DynamicNodeList classes hierarchy.
809         https://bugs.webkit.org/show_bug.cgi?id=103025
810
811         Reviewed by Yury Semikhatsky.
812
813         RNiwa changed pointer type in NodeRareData::NodeListAtomicNameCacheMap from the topmost
814         DynamicSubtreeNodeList to the base DynamicNodeListCacheBase at r135429.
815         As a result we got non zero count of pointers that don't match with tcmalloc data,
816         because DynamicNodeList uses multiple inheritance.
817         It could be fixed with help of explicit native memory instrumentation for DynamicNodeList class hierarchy.
818
819         No change in behavior, so no new tests.
820
821         * dom/Document.cpp: drive by fix.
822         (WebCore::Document::reportMemoryUsage):
823         * dom/DynamicNodeList.cpp:
824         (WebCore::DynamicNodeListCacheBase::reportMemoryUsage):
825         (WebCore):
826         (WebCore::DynamicNodeList::reportMemoryUsage):
827         (WebCore::DynamicSubtreeNodeList::reportMemoryUsage):
828         * dom/DynamicNodeList.h:
829         (WebCore::DynamicNodeListCacheBase::~DynamicNodeListCacheBase):
830         (DynamicNodeListCacheBase):
831         (DynamicNodeList):
832         (DynamicSubtreeNodeList):
833
834 2012-11-22  Kentaro Hara  <haraken@chromium.org>
835
836         Unreviewed, rolling out r135482.
837         http://trac.webkit.org/changeset/135482
838         https://bugs.webkit.org/show_bug.cgi?id=103002
839
840         It broke Chrome/Linux Debug build
841
842         * bindings/v8/V8StringResource.cpp:
843         * bindings/v8/V8StringResource.h:
844         * bindings/v8/V8ValueCache.cpp:
845         (WebCore::WebCoreStringResourceBase::toWebCoreStringResourceBase):
846         (WebCore):
847         (WebCore::WebCoreStringResourceBase::visitStrings):
848         * bindings/v8/V8ValueCache.h:
849         (WebCore):
850         (WebCoreStringResourceBase):
851         (WebCore::WebCoreStringResourceBase::WebCoreStringResourceBase):
852         (WebCore::WebCoreStringResourceBase::~WebCoreStringResourceBase):
853         (WebCore::WebCoreStringResourceBase::webcoreString):
854         (WebCore::WebCoreStringResourceBase::atomicString):
855         (WebCore::WebCoreStringResourceBase::memoryConsumption):
856         (WebCoreStringResource16):
857         (WebCore::WebCoreStringResource16::WebCoreStringResource16):
858         (WebCoreStringResource8):
859         (WebCore::WebCoreStringResource8::WebCoreStringResource8):
860
861 2012-11-22  Sheriff Bot  <webkit.review.bot@gmail.com>
862
863         Unreviewed, rolling out r134927 and r134944.
864         http://trac.webkit.org/changeset/134927
865         http://trac.webkit.org/changeset/134944
866         https://bugs.webkit.org/show_bug.cgi?id=103028
867
868         Reverting the reverts after merging. (Requested by vsevik on
869         #webkit).
870
871         * English.lproj/localizedStrings.js:
872         * WebCore.gypi:
873         * WebCore.vcproj/WebCore.vcproj:
874         * inspector/compile-front-end.py:
875         * inspector/front-end/AdvancedSearchController.js:
876         * inspector/front-end/CallStackSidebarPane.js:
877         (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
878         * inspector/front-end/ConsoleView.js:
879         (WebInspector.ConsoleView.prototype._registerShortcuts):
880         * inspector/front-end/ElementsPanel.js:
881         (WebInspector.ElementsPanel):
882         * inspector/front-end/ElementsPanelDescriptor.js:
883         (WebInspector.ElementsPanelDescriptor.prototype.registerShortcuts):
884         * inspector/front-end/GoToLineDialog.js:
885         (WebInspector.GoToLineDialog.install):
886         * inspector/front-end/KeyboardShortcut.js:
887         (WebInspector.KeyboardShortcut._keyName):
888         * inspector/front-end/Panel.js:
889         (WebInspector.Panel.prototype.registerShortcuts):
890         (WebInspector.PanelDescriptor.prototype.panel):
891         (WebInspector.PanelDescriptor.prototype.registerShortcuts):
892         * inspector/front-end/ScriptsPanel.js:
893         (WebInspector.ScriptsPanel):
894         (WebInspector.ScriptsPanel.prototype._createDebugToolbar):
895         (WebInspector.ScriptsPanel.prototype._createButtonAndRegisterShortcuts):
896         * inspector/front-end/ScriptsPanelDescriptor.js:
897         (WebInspector.ScriptsPanelDescriptor.prototype.registerShortcuts):
898         * inspector/front-end/ShortcutsScreen.js:
899         (WebInspector.ShortcutsScreen):
900         (WebInspector.ShortcutsSection):
901         (WebInspector.ShortcutsSection.prototype._renderKey):
902         * inspector/front-end/StylesSidebarPane.js:
903         * inspector/front-end/TimelinePanel.js:
904         (WebInspector.TimelinePanel.prototype._registerShortcuts):
905         * inspector/front-end/TimelinePanelDescriptor.js: Copied from Source/WebCore/inspector/front-end/ScriptsPanelDescriptor.js.
906         (WebInspector.TimelinePanelDescriptor):
907         (WebInspector.TimelinePanelDescriptor.prototype.registerShortcuts):
908         * inspector/front-end/WebKit.qrc:
909         * inspector/front-end/inspector.html:
910         * inspector/front-end/inspector.js:
911         (WebInspector._panelDescriptors):
912         (WebInspector._registerShortcuts):
913
914 2012-11-21  Sheriff Bot  <webkit.review.bot@gmail.com>
915
916         Unreviewed, rolling out r135433 and r135479.
917         http://trac.webkit.org/changeset/135433
918         http://trac.webkit.org/changeset/135479
919         https://bugs.webkit.org/show_bug.cgi?id=103029
920
921         "IDBRequestTest.EventsAfterStopping crashes" (Requested by
922         yurys on #webkit).
923
924         * bindings/v8/DOMDataStore.cpp:
925         (WebCore::DOMDataStore::current):
926         * bindings/v8/DOMWrapperWorld.cpp:
927         * bindings/v8/DOMWrapperWorld.h:
928         * bindings/v8/ScriptController.cpp:
929         (WebCore::ScriptController::existingWindowShell):
930         (WebCore::ScriptController::windowShell):
931         (WebCore::ScriptController::evaluateInIsolatedWorld):
932         (WebCore::ScriptController::currentWorldContext):
933         (WebCore::ScriptController::collectIsolatedContexts):
934         * bindings/v8/ScriptController.h:
935         (ScriptController):
936         * bindings/v8/V8Binding.h:
937         (WebCore::worldForEnteredContextIfIsolated):
938         * bindings/v8/V8DOMWindowShell.cpp:
939         (WebCore::V8DOMWindowShell::destroyIsolatedShell):
940         (WebCore::isolatedContextWeakCallback):
941         (WebCore):
942         (WebCore::V8DOMWindowShell::disposeContext):
943         (WebCore::V8DOMWindowShell::initializeIfNeeded):
944         (WebCore::V8DOMWindowShell::installDOMWindow):
945         * bindings/v8/V8DOMWindowShell.h:
946         (WebCore::V8DOMWindowShell::isolated):
947         (V8DOMWindowShell):
948         * bindings/v8/V8PerContextData.h:
949         * bindings/v8/WorldContextHandle.cpp:
950         (WebCore::WorldContextHandle::WorldContextHandle):
951
952 2012-11-21  Pavel Feldman  <pfeldman@chromium.org>
953
954         Web Inspector: simplify the _updateChunksForRanges routine
955         https://bugs.webkit.org/show_bug.cgi?id=102927
956
957         Reviewed by Vsevolod Vlasov.
958
959         * inspector/front-end/DefaultTextEditor.js:
960         (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
961         (WebInspector.TextEditorMainChunk.prototype.updateCollapsedLineRow):
962         (WebInspector.TextEditorMainChunk.prototype.detachFromDOM):
963         (WebInspector.TextEditorMainChunk.prototype.anchorElement):
964
965 2012-11-21  Kentaro Hara  <haraken@chromium.org>
966
967         [V8] WebCoreStringResourceBase should be located in V8StringResource.h
968         https://bugs.webkit.org/show_bug.cgi?id=103002
969
970         Reviewed by Adam Barth.
971
972         Currently WebCoreStringResourceBase is mis-located in V8ValueCache.h.
973         It should be in V8StringResource.h.
974
975         No tests. No change in behavior.
976
977         * bindings/v8/V8StringResource.cpp:
978         (WebCore::WebCoreStringResourceBase::toWebCoreStringResourceBase):
979         (WebCore):
980         (WebCore::WebCoreStringResourceBase::visitStrings):
981         * bindings/v8/V8StringResource.h:
982         (WebCore):
983         (WebCoreStringResourceBase):
984         (WebCore::WebCoreStringResourceBase::WebCoreStringResourceBase):
985         (WebCore::WebCoreStringResourceBase::~WebCoreStringResourceBase):
986         (WebCore::WebCoreStringResourceBase::webcoreString):
987         (WebCore::WebCoreStringResourceBase::atomicString):
988         (WebCore::WebCoreStringResourceBase::memoryConsumption):
989         (WebCoreStringResource16):
990         (WebCore::WebCoreStringResource16::WebCoreStringResource16):
991         (WebCoreStringResource8):
992         (WebCore::WebCoreStringResource8::WebCoreStringResource8):
993         * bindings/v8/V8ValueCache.cpp:
994         * bindings/v8/V8ValueCache.h:
995         (WebCore):
996
997 2012-11-21  Sheriff Bot  <webkit.review.bot@gmail.com>
998
999         Unreviewed, rolling out r135464.
1000         http://trac.webkit.org/changeset/135464
1001         https://bugs.webkit.org/show_bug.cgi?id=103026
1002
1003         breaks gtk bot (Requested by morrita on #webkit).
1004
1005         * dom/Element.cpp:
1006         * dom/Element.h:
1007         (Element):
1008         * dom/Element.idl:
1009
1010 2012-11-21  Dan Carney  <dcarney@google.com>
1011
1012         Remove V8DOMWindowShell::getEntered
1013         https://bugs.webkit.org/show_bug.cgi?id=96637
1014
1015         Reviewed by Adam Barth.
1016
1017         V8DOMWindowShell::getEntered was refactored so that the window shell
1018         no longer has to be kept alive by a v8 context. Instead, only
1019         the DOMWrapperWorld will be kept alive.
1020
1021         No new tests. No change in functionality.
1022
1023         * bindings/v8/DOMDataStore.cpp:
1024         (WebCore::DOMDataStore::current):
1025         * bindings/v8/DOMWrapperWorld.cpp:
1026         (WebCore::isolatedWorldWeakCallback):
1027         (WebCore):
1028         (WebCore::DOMWrapperWorld::makeContextWeak):
1029         (WebCore::DOMWrapperWorld::setIsolatedWorldField):
1030         * bindings/v8/DOMWrapperWorld.h:
1031         (DOMWrapperWorld):
1032         (WebCore::DOMWrapperWorld::isolated):
1033         * bindings/v8/ScriptController.cpp:
1034         (WebCore::ScriptController::existingWindowShell):
1035         (WebCore::ScriptController::windowShell):
1036         (WebCore::ScriptController::evaluateInIsolatedWorld):
1037         (WebCore::ScriptController::currentWorldContext):
1038         (WebCore::ScriptController::collectIsolatedContexts):
1039         * bindings/v8/ScriptController.h:
1040         (ScriptController):
1041         * bindings/v8/V8Binding.h:
1042         (WebCore::worldForEnteredContextIfIsolated):
1043         * bindings/v8/V8DOMWindowShell.cpp:
1044         (WebCore::V8DOMWindowShell::destroyIsolatedShell):
1045         (WebCore::V8DOMWindowShell::disposeContext):
1046         (WebCore::V8DOMWindowShell::initializeIfNeeded):
1047         * bindings/v8/V8DOMWindowShell.h:
1048         (V8DOMWindowShell):
1049         * bindings/v8/V8PerContextData.h:
1050         * bindings/v8/WorldContextHandle.cpp:
1051         (WebCore::WorldContextHandle::WorldContextHandle):
1052
1053 2012-11-21  Cosmin Truta  <ctruta@rim.com>
1054
1055         Numeric identifiers of events should not be globally sequential
1056         https://bugs.webkit.org/show_bug.cgi?id=102244
1057
1058         Reviewed by Alexey Proskuryakov.
1059
1060         The functions setTimeout, setInterval and navigator.geolocation.watchPosition
1061         are currently returning values that are unique across all JavaScript execution
1062         contexts, due to their dependency on global variables.
1063         Such a guarantee is unnecessarily strong. In this patch, we constrain uniqueness
1064         to these functions' own script execution context only.
1065
1066         Tests: fast/dom/Geolocation/watchPosition-unique.html
1067                fast/dom/Window/setTimeout-setInterval-unique.html
1068
1069         * Modules/geolocation/Geolocation.cpp:
1070         (WebCore): Remove firstAvailableWatchId.
1071         (WebCore::Geolocation::watchPosition): Get new watchID from script execution context.
1072         (WebCore::Geolocation::clearWatch): Invalid watchID means less than or equal to 0.
1073         * Modules/geolocation/Geolocation.h:
1074         (Geolocation): Renamed the argument of Geolocation::clearWatch to WatchID.
1075         * dom/ScriptExecutionContext.cpp:
1076         (WebCore::ScriptExecutionContext::ScriptExecutionContext): Update initialization.
1077         (WebCore::ScriptExecutionContext::newUniqueID): Add.
1078         * dom/ScriptExecutionContext.h:
1079         (ScriptExecutionContext): Add m_sequentialID.
1080         (WebCore::ScriptExecutionContext::addTimeout): Inline.
1081         (WebCore::ScriptExecutionContext::removeTimeout): Inline.
1082         (WebCore::ScriptExecutionContext::findTimeout): Inline.
1083         * page/DOMTimer.cpp:
1084         (WebCore): Remove timeoutId.
1085         (WebCore::DOMTimer::DOMTimer): Get new timeoutId from script execution context.
1086
1087 2012-11-21  Ryosuke Niwa  <rniwa@webkit.org>
1088
1089         CollectionType and DynamicNodeList::NodeListType should be merged
1090         https://bugs.webkit.org/show_bug.cgi?id=102983
1091
1092         Reviewed by Antti Koivisto.
1093
1094         Merged DynamicNodeList::NodeListType (for live NodeList) into CollectionType.
1095
1096         * dom/ClassNodeList.cpp:
1097         (WebCore::ClassNodeList::~ClassNodeList):
1098         * dom/Document.cpp:
1099         (WebCore::Document::registerNodeListCache):
1100         (WebCore::Document::unregisterNodeListCache):
1101         (WebCore::Document::getItems):
1102         * dom/DynamicNodeList.cpp:
1103         (WebCore::DynamicNodeListCacheBase::invalidateCache):
1104         (WebCore::DynamicNodeListCacheBase::invalidateIdNameCacheMaps):
1105         * dom/DynamicNodeList.h:
1106         (WebCore::DynamicNodeListCacheBase::DynamicNodeListCacheBase):
1107         (WebCore::DynamicNodeListCacheBase::hasIdNameCache): Added. Returns iff this is a HTMLCollection.
1108         (WebCore::DynamicNodeListCacheBase::invalidateCache):
1109         (WebCore::DynamicNodeList::DynamicNodeList):
1110         (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
1111         * dom/MicroDataItemList.cpp:
1112         (WebCore::MicroDataItemList::~MicroDataItemList):
1113         * dom/NameNodeList.cpp:
1114         (WebCore::NameNodeList::~NameNodeList):
1115         * dom/Node.cpp:
1116         (WebCore::Node::getElementsByTagName):
1117         (WebCore::Node::getElementsByName):
1118         (WebCore::Node::getElementsByClassName):
1119         (WebCore::Node::radioNodeList):
1120         (WebCore::Node::propertyNodeList):
1121         * dom/NodeRareData.h:
1122         (WebCore::NodeListsNodeData::addCacheWithAtomicName): No longer converts CollectionType to
1123         a NodeListType equivalent since two enums have been merged.
1124         (WebCore::NodeListsNodeData::cacheWithAtomicName): Ditto.
1125         (WebCore::NodeListsNodeData::addCacheWithName): Ditto.
1126         (WebCore::NodeListsNodeData::removeCacheWithAtomicName): Ditto.
1127         (WebCore::NodeListsNodeData::removeCacheWithName): Ditto.
1128         (WebCore::NodeListsNodeData::namedNodeListKey): Ignore types before FirstNodeCollectionType
1129         to minimize the hash conflicts.
1130         * dom/PropertyNodeList.cpp:
1131         (WebCore::PropertyNodeList::~PropertyNodeList):
1132         * dom/TagNodeList.cpp:
1133         (WebCore::TagNodeList::~TagNodeList):
1134         * html/CollectionType.h:
1135         (WebCore::isNodeList): Added.
1136         * html/HTMLCollection.cpp:
1137         (WebCore::shouldOnlyIncludeDirectChildren):
1138         (WebCore::rootTypeFromCollectionType):
1139         (WebCore::invalidationTypeExcludingIdAndNameAttributes):
1140         (WebCore::isAcceptableElement):
1141         (WebCore::DynamicNodeListCacheBase::iterateForNextNode):
1142         (WebCore::DynamicNodeListCacheBase::itemBeforeOrAfter):
1143         * html/LabelableElement.cpp:
1144         (WebCore::LabelableElement::labels):
1145         * html/LabelsNodeList.cpp:
1146         (WebCore::LabelsNodeList::~LabelsNodeList):
1147         * html/RadioNodeList.cpp:
1148         (WebCore::RadioNodeList::~RadioNodeList):
1149
1150 2012-11-21  Michael Pruett  <michael@68k.org>
1151
1152         IndexedDB: Obtain ScriptState from IDL binding generator
1153         https://bugs.webkit.org/show_bug.cgi?id=102552
1154
1155         Reviewed by Kentaro Hara.
1156
1157         Obtain ScriptState from IDL binding generator rather than directly
1158         calling ScriptState::current() since that method does not exist
1159         in JSC.
1160
1161         Tests: storage/indexeddb/*
1162
1163         * Modules/indexeddb/IDBCursor.cpp:
1164         (WebCore::IDBCursor::update):
1165         * Modules/indexeddb/IDBCursor.h:
1166         (IDBCursor):
1167         * Modules/indexeddb/IDBCursor.idl:
1168         * Modules/indexeddb/IDBObjectStore.cpp:
1169         (WebCore::IDBObjectStore::add):
1170         (WebCore::IDBObjectStore::put):
1171         * Modules/indexeddb/IDBObjectStore.h:
1172         (WebCore::IDBObjectStore::add):
1173         (WebCore::IDBObjectStore::put):
1174         (IDBObjectStore):
1175         * Modules/indexeddb/IDBObjectStore.idl:
1176
1177 2012-11-21  Filip Pizlo  <fpizlo@apple.com>
1178
1179         Rename dataLog() and dataLogV() to dataLogF() and dataLogFV()
1180         https://bugs.webkit.org/show_bug.cgi?id=103001
1181
1182         Rubber stamped by Dan Bernstein.
1183
1184         No change in behavior, so no new tests.
1185
1186         * platform/KURLWTFURL.cpp:
1187         (WebCore::KURL::print):
1188
1189 2012-11-21  Kondapally Kalyan  <kalyan.kondapally@intel.com>
1190
1191         [EFL] Refactor GraphicsContext3DEFL.
1192         https://bugs.webkit.org/show_bug.cgi?id=101291.
1193
1194         Reviewed by Kenneth Rohde Christiansen.
1195
1196         GraphicsContext3DEfl creates GraphicsContext3DPrivate, which acts as its platform Layer.
1197         GraphicsContext3DPrivate needs to handle the following cases:
1198         1) To provide an off-screen buffer for accelerated composition.
1199         2) Render to a current context.
1200         3) To render directly to host window. (currently not supported.)
1201
1202         Before this patch Evas was used to provide us an off-screen context and buffer. GLX was used in
1203         the other supported case. Evas acts as a glue layer to provide us with appropriate
1204         GL bindings (OpenGL functions), GL context and drawable (surface/offscreenbuffer).
1205         However, primitive rendering is handled by TextureMapper and OpenGLShims is used to load the needed GL functions.
1206
1207         It would be for our advantage to be able to take in to use any optimisations/extensions
1208         provided by underlying drivers, specific to a platform (e.g. GLX_MESA_copy_sub_buffer etc.).
1209         This patch introduces an abstraction layer to make it easy to add support for any GL backend (GLX, EGL etc.)
1210         and do any platform specific optimizations as needed without complicating GraphicsContext3DPrivate class.
1211         Two new classes are added with this implementation, GLPlatformContext and GLPlatformSurface.
1212         GraphicsContext3DPrivate would create and own a GLPlatformContext and GLPlatformSurface.
1213
1214         GLPlatformContext encapsulates an OpenGL context hiding any platform specific management.
1215         It uses GL extension ARB_robustness (when available) to detect driver resets.
1216         It defines a simple interface for things that need to be handled by the context. Support
1217         for multi-threaded usage and shared context-group would be added later.
1218
1219         GLPlatformSurface encapsulates an OpenGL drawable hiding any platform specific management.
1220         It defines a simple interface for things that need to be handled by the surface.
1221         It creates an off-screen rendering area. Any GLPlatformContext (compatible with the surface)
1222         can be used to render into this off-screen area.
1223
1224         This patch also adds GLX implementation. To keep the patch to minimum EGL support would be added in another changeset.
1225
1226         * PlatformEfl.cmake:
1227         * platform/graphics/efl/GraphicsContext3DEfl.cpp:
1228         (WebCore::GraphicsContext3D::create):
1229         (WebCore::GraphicsContext3D::GraphicsContext3D):
1230         (WebCore::GraphicsContext3D::~GraphicsContext3D):
1231         (WebCore::GraphicsContext3D::makeContextCurrent):
1232         (WebCore::GraphicsContext3D::setContextLostCallback):
1233         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
1234         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
1235         (GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
1236         (GraphicsContext3DPrivate::releaseResources):
1237         (GraphicsContext3DPrivate::setContextLostCallback):
1238         (GraphicsContext3DPrivate::platformGraphicsContext3D):
1239         (GraphicsContext3DPrivate::makeContextCurrent):
1240         (GraphicsContext3DPrivate::createGraphicsSurfaces):
1241         (GraphicsContext3DPrivate::copyToGraphicsSurface):
1242         (GraphicsContext3DPrivate::graphicsSurfaceToken):
1243         * platform/graphics/efl/GraphicsContext3DPrivate.h:
1244         (GraphicsContext3DPrivate):
1245         * platform/graphics/opengl/GLDefs.h: Added.
1246         (WebCore):
1247         * platform/graphics/opengl/GLPlatformContext.cpp: Added.
1248         (WebCore):
1249         (WebCore::GLPlatformContext::createContext):
1250         (WebCore::GLPlatformContext::createOffScreenContext):
1251         (WebCore::GLPlatformContext::createCurrentContextWrapper):
1252         (WebCore::GLPlatformContext::GLPlatformContext):
1253         (WebCore::GLPlatformContext::~GLPlatformContext):
1254         (WebCore::GLPlatformContext::makeCurrent):
1255         (WebCore::GLPlatformContext::isValid):
1256         (WebCore::GLPlatformContext::releaseCurrent):
1257         (WebCore::GLPlatformContext::handle):
1258         (WebCore::GLPlatformContext::isCurrentContext):
1259         (WebCore::GLPlatformContext::initialize):
1260         (WebCore::GLPlatformContext::getCurrent):
1261         (WebCore::GLPlatformContext::platformMakeCurrent):
1262         (WebCore::GLPlatformContext::platformReleaseCurrent):
1263         (WebCore::GLPlatformContext::destroy):
1264         * platform/graphics/opengl/GLPlatformContext.h: Added.
1265         (WebCore):
1266         (GLPlatformContext):
1267         * platform/graphics/opengl/GLPlatformSurface.cpp: Added.
1268         (WebCore):
1269         (WebCore::GLPlatformSurface::createOffscreenSurface):
1270         (WebCore::GLPlatformSurface::createTransportSurface):
1271         (WebCore::GLPlatformSurface::GLPlatformSurface):
1272         (WebCore::GLPlatformSurface::~GLPlatformSurface):
1273         (WebCore::GLPlatformSurface::handle):
1274         (WebCore::GLPlatformSurface::geometry):
1275         (WebCore::GLPlatformSurface::sharedDisplay):
1276         (WebCore::GLPlatformSurface::configuration):
1277         (WebCore::GLPlatformSurface::swapBuffers):
1278         (WebCore::GLPlatformSurface::copyTexture):
1279         (WebCore::GLPlatformSurface::updateContents):
1280         (WebCore::GLPlatformSurface::setGeometry):
1281         (WebCore::GLPlatformSurface::destroy):
1282         * platform/graphics/opengl/GLPlatformSurface.h: Added.
1283         (WebCore):
1284         (GLPlatformSurface):
1285             GLXOffScreenContext creates an off-screen context. This is used when
1286             renderstyle is RenderOffscreen.
1287             It uses GL extension GLX_ARB_create_context (when available)
1288             to create a context else falls back to use glXCreateNewContext.
1289         * platform/graphics/surfaces/glx/GLXContext.cpp: Added.
1290         (WebCore):
1291         (WebCore::initializeARBExtensions):
1292         (WebCore::GLXOffScreenContext::GLXOffScreenContext):
1293         (WebCore::GLXOffScreenContext::initialize):
1294         (WebCore::GLXOffScreenContext::~GLXOffScreenContext):
1295         (WebCore::GLXOffScreenContext::isCurrentContext):
1296         (WebCore::GLXOffScreenContext::platformMakeCurrent):
1297         (WebCore::GLXOffScreenContext::platformReleaseCurrent):
1298         (WebCore::GLXOffScreenContext::freeResources):
1299         (WebCore::GLXOffScreenContext::destroy):
1300             GLXCurrentContextWrapper acts as a wrapper for current context.
1301             This is used when renderstyle is RenderToCurrentGLContext.
1302         * platform/graphics/surfaces/glx/GLXContext.h: Added.
1303         (WebCore):
1304         (GLXCurrentContextWrapper):
1305         (WebCore::GLXCurrentContextWrapper::GLXCurrentContextWrapper):
1306         (WebCore::GLXCurrentContextWrapper::~GLXCurrentContextWrapper):
1307         (GLXOffScreenContext):
1308         * platform/graphics/surfaces/glx/GLXSurface.cpp: Added.
1309         (WebCore):
1310         (WebCore::GLXSurface::GLXSurface):
1311         (WebCore::GLXSurface::~GLXSurface):
1312         (WebCore::GLXSurface::visualInfo):
1313         (WebCore::GLXSurface::xWindow):
1314         (WebCore::GLXSurface::pBufferConfiguration):
1315         (WebCore::GLXSurface::transportSurfaceConfiguration):
1316         (WebCore::GLXSurface::isXRenderExtensionSupported):
1317             GLXTransportSurface creates Window and uses it as an off-screen surface.
1318             Any GLContext that was created with respect to configuration can be used
1319             to render into this.
1320             This is used when contents of the buffer are to be provided to UI Process
1321             for display.
1322         (WebCore::GLXTransportSurface::GLXTransportSurface):
1323         (WebCore::GLXTransportSurface::~GLXTransportSurface):
1324         (WebCore::GLXTransportSurface::configuration):
1325         (WebCore::GLXTransportSurface::swapBuffers):
1326         (WebCore::GLXTransportSurface::setGeometry):
1327         (WebCore::GLXTransportSurface::initialize):
1328         (WebCore::GLXTransportSurface::destroy):
1329         (WebCore::GLXTransportSurface::freeResources):
1330            GLXPBuffer, Creates a GL surface (PBuffer) used for offscreen rendering.
1331            Any GLContext that was created with respect to configuration can be used
1332            to render into this.
1333         (WebCore::GLXPBuffer::GLXPBuffer):
1334         (WebCore::GLXPBuffer::~GLXPBuffer):
1335         (WebCore::GLXPBuffer::initialize):
1336         (WebCore::GLXPBuffer::configuration):
1337         (WebCore::GLXPBuffer::destroy):
1338         (WebCore::GLXPBuffer::freeResources):
1339         * platform/graphics/surfaces/glx/GLXSurface.h: Added.
1340         (WebCore):
1341             Creates X resources which are shared between surface and context.
1342         (SharedX11Resources):
1343         (WebCore::SharedX11Resources::create):
1344         (WebCore::SharedX11Resources::deref):
1345         (WebCore::SharedX11Resources::getXWindow):
1346         (WebCore::SharedX11Resources::display):
1347         (WebCore::SharedX11Resources::visualInfo):
1348         (WebCore::SharedX11Resources::createConfig):
1349         (WebCore::SharedX11Resources::pBufferContextConfig):
1350         (WebCore::SharedX11Resources::surfaceContextConfig):
1351         (WebCore::SharedX11Resources::isXRenderExtensionSupported):
1352         (WebCore::SharedX11Resources::SharedX11Resources):
1353         (WebCore::SharedX11Resources::~SharedX11Resources):
1354         (GLXSurface):
1355         (GLXTransportSurface):
1356         (GLXPBuffer):
1357
1358 2012-11-21  Andreas Kling  <akling@apple.com>
1359
1360         Re-virtualize CSSRule.
1361         <http://webkit.org/b/103003>
1362
1363         Reviewed by Anders Carlsson.
1364
1365         Make CSSRule virtual once again, since it's no longer important to keep it as small as possible.
1366         StyleRuleBase and its various subclasses are the relevant ones now.
1367
1368         * css/CSSCharsetRule.cpp:
1369         (WebCore::CSSCharsetRule::CSSCharsetRule):
1370         (WebCore::CSSCharsetRule::reportMemoryUsage):
1371         * css/CSSCharsetRule.h:
1372         (WebCore::CSSCharsetRule::~CSSCharsetRule):
1373         (WebCore::CSSCharsetRule::encoding):
1374         (WebCore::CSSCharsetRule::setEncoding):
1375         * css/CSSFontFaceRule.cpp:
1376         (WebCore::CSSFontFaceRule::CSSFontFaceRule):
1377         (WebCore::CSSFontFaceRule::reattach):
1378         (WebCore::CSSFontFaceRule::reportMemoryUsage):
1379         * css/CSSFontFaceRule.h:
1380         (CSSFontFaceRule):
1381         * css/CSSImportRule.cpp:
1382         (WebCore::CSSImportRule::CSSImportRule):
1383         (WebCore::CSSImportRule::reportMemoryUsage):
1384         (WebCore::CSSImportRule::reattach):
1385         (WebCore):
1386         * css/CSSImportRule.h:
1387         (CSSImportRule):
1388         * css/CSSMediaRule.cpp:
1389         (WebCore::CSSMediaRule::CSSMediaRule):
1390         (WebCore::CSSMediaRule::reattach):
1391         (WebCore::CSSMediaRule::reportMemoryUsage):
1392         * css/CSSMediaRule.h:
1393         (CSSMediaRule):
1394         * css/CSSPageRule.cpp:
1395         (WebCore::CSSPageRule::CSSPageRule):
1396         (WebCore::CSSPageRule::reattach):
1397         (WebCore::CSSPageRule::reportMemoryUsage):
1398         * css/CSSPageRule.h:
1399         (CSSPageRule):
1400         * css/CSSRule.cpp:
1401         (SameSizeAsCSSRule):
1402         (WebCore::CSSRule::reportMemoryUsage):
1403         * css/CSSRule.h:
1404         (WebCore::CSSRule::~CSSRule):
1405         (CSSRule):
1406         (WebCore::CSSRule::CSSRule):
1407         * css/CSSStyleRule.cpp:
1408         (WebCore::CSSStyleRule::CSSStyleRule):
1409         (WebCore::CSSStyleRule::reattach):
1410         (WebCore::CSSStyleRule::reportMemoryUsage):
1411         * css/CSSStyleRule.h:
1412         (CSSStyleRule):
1413         (WebCore::CSSStyleRule::type):
1414         * css/CSSStyleSheet.cpp:
1415         (WebCore::CSSStyleSheet::rules):
1416         * css/CSSUnknownRule.h:
1417         (WebCore::CSSUnknownRule::CSSUnknownRule):
1418         (WebCore::CSSUnknownRule::~CSSUnknownRule):
1419         * css/StyleResolver.cpp:
1420         (WebCore::collectCSSOMWrappers):
1421         * css/WebKitCSSKeyframeRule.cpp:
1422         (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
1423         (WebCore::WebKitCSSKeyframeRule::reportMemoryUsage):
1424         (WebCore::WebKitCSSKeyframeRule::reattach):
1425         (WebCore):
1426         * css/WebKitCSSKeyframeRule.h:
1427         (WebKitCSSKeyframeRule):
1428         * css/WebKitCSSKeyframesRule.cpp:
1429         (WebCore::WebKitCSSKeyframesRule::WebKitCSSKeyframesRule):
1430         (WebCore::WebKitCSSKeyframesRule::reattach):
1431         (WebCore::WebKitCSSKeyframesRule::reportMemoryUsage):
1432         * css/WebKitCSSKeyframesRule.h:
1433         (WebKitCSSKeyframesRule):
1434         * css/WebKitCSSRegionRule.cpp:
1435         (WebCore::WebKitCSSRegionRule::WebKitCSSRegionRule):
1436         (WebCore::WebKitCSSRegionRule::reattach):
1437         (WebCore::WebKitCSSRegionRule::reportMemoryUsage):
1438         * css/WebKitCSSRegionRule.h:
1439         (WebKitCSSRegionRule):
1440         * css/WebKitCSSViewportRule.cpp:
1441         (WebCore::WebKitCSSViewportRule::WebKitCSSViewportRule):
1442         (WebCore::WebKitCSSViewportRule::reattach):
1443         (WebCore::WebKitCSSViewportRule::reportMemoryUsage):
1444         * css/WebKitCSSViewportRule.h:
1445         * inspector/InspectorCSSAgent.cpp:
1446         (WebCore::InspectorCSSAgent::asCSSStyleRule):
1447         (WebCore::InspectorCSSAgent::collectStyleSheets):
1448         * inspector/InspectorStyleSheet.cpp:
1449         (WebCore::asCSSRuleList):
1450         (WebCore::fillMediaListChain):
1451         * page/PageSerializer.cpp:
1452         (WebCore::PageSerializer::serializeCSSStyleSheet):
1453
1454 2012-11-21  Hajime Morrita  <morrita@google.com>
1455
1456         [Shadow DOM] Implement Element::createShadowRoot()
1457         https://bugs.webkit.org/show_bug.cgi?id=102911
1458
1459         Reviewed by Kentaro Hara.
1460
1461         Added an API implementation and exposed it.
1462
1463         This is basically an alias of the ShadowRoot constructor, which
1464         will be removed as bug 102913.
1465
1466         Test: fast/dom/shadow/shadow-aware-create-shdow-root.html
1467
1468         * dom/Element.cpp:
1469         (WebCore::Element::createShadowRoot):
1470         (WebCore):
1471         * dom/Element.h:
1472         (Element):
1473         * dom/Element.idl:
1474
1475 2012-11-20  James Simonsen  <simonjam@chromium.org>
1476
1477         [Resource Timing] Populate PerformanceResourceTiming structs with timing data
1478         https://bugs.webkit.org/show_bug.cgi?id=102862
1479
1480         Reviewed by Tony Gentilcore.
1481
1482         This allows CachedResourceLoader to pass in all of the necessary values and populates
1483         them in the PerformanceResourceTiming struct. A follow up patch will actually call
1484         addResourceTiming() as necessary.
1485
1486         Tests: http/tests/w3c/webperf/submission/resource-timing
1487
1488         * page/Performance.cpp:
1489         (WebCore::Performance::addResourceTiming): Accept all necessary timing data.
1490         * page/Performance.h:
1491         (WebCore):
1492         (Performance):
1493         * page/PerformanceEntry.cpp:
1494         (WebCore::PerformanceEntry::PerformanceEntry):
1495         * page/PerformanceEntry.h:
1496         (PerformanceEntry):
1497         * page/PerformanceResourceTiming.cpp:
1498         (WebCore::monotonicTimeToDocumentMilliseconds):
1499         (WebCore):
1500         (WebCore::PerformanceResourceTiming::PerformanceResourceTiming):
1501         (WebCore::PerformanceResourceTiming::initiatorType): Return the spec'd values.
1502         (WebCore::PerformanceResourceTiming::fetchStart):
1503         (WebCore::PerformanceResourceTiming::domainLookupStart):
1504         (WebCore::PerformanceResourceTiming::domainLookupEnd):
1505         (WebCore::PerformanceResourceTiming::connectStart):
1506         (WebCore::PerformanceResourceTiming::connectEnd):
1507         (WebCore::PerformanceResourceTiming::secureConnectionStart):
1508         (WebCore::PerformanceResourceTiming::requestStart):
1509         (WebCore::PerformanceResourceTiming::responseStart):
1510         (WebCore::PerformanceResourceTiming::responseEnd):
1511         (WebCore::PerformanceResourceTiming::resourceTimeToDocumentMilliseconds):
1512         * page/PerformanceResourceTiming.h:
1513         (WebCore::PerformanceResourceTiming::create):
1514         (PerformanceResourceTiming):
1515
1516 2012-11-21  Hajime Morrita  <morrita@google.com>
1517
1518         [Shadow DOM][V8] Assertion failure when shadow host is reclaimed before ShadowRoot
1519         https://bugs.webkit.org/show_bug.cgi?id=102893
1520
1521         Reviewed by Kentaro Hara.
1522
1523         Due to bug 88834, shadow hosts can be reclaimed before
1524         corresponding ShadowRoots are.  This breaks an invariant, that is,
1525         the host is always available for any ShadowRoot.  This change adds
1526         guards for the possibly broken invariant.
1527
1528         Since bug 88834 is planned to be fixed shortly, this change
1529         doesn't aim to fix this problem by make it work correctly, but
1530         just lays a safety net which is needed until the root cause is
1531         gone.
1532
1533         Test: fast/dom/shadow/host-wrapper-reclaimed.html
1534
1535         * dom/ShadowRoot.cpp:
1536         (WebCore::ShadowRoot::setInnerHTML):
1537         (WebCore::ShadowRoot::setApplyAuthorStyles):
1538         (WebCore::ShadowRoot::setResetStyleInheritance):
1539         (WebCore::ShadowRoot::childrenChanged):
1540
1541 2012-11-21  Dirk Schulze  <krit@webkit.org>
1542
1543         Make CachedSVGDocumentReference independent of FilterOperation
1544         https://bugs.webkit.org/show_bug.cgi?id=102967
1545
1546         Reviewed by Antti Koivisto.
1547
1548         Make CachedSVGDocumentReference independent of FilterOperation to reuse the code for clip-path and masking.
1549
1550         No new tests, refactoring.
1551
1552         * GNUmakefile.list.am: Move CachedSVGDocumentReference to it's proper location and it to the projects. 
1553         * WebCore.gypi:
1554         * WebCore.vcproj/WebCore.vcproj:
1555         * WebCore.xcodeproj/project.pbxproj:
1556         * css/StyleResolver.cpp:
1557         (WebCore::StyleResolver::loadPendingSVGDocuments):
1558         (WebCore::StyleResolver::createFilterOperations):
1559         * loader/cache/CachedSVGDocumentReference.h: Renamed from Source/WebCore/css/CachedSVGDocumentReference.h.
1560         (WebCore):
1561         (CachedSVGDocumentReference):
1562         (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
1563         (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
1564         (WebCore::CachedSVGDocumentReference::document):
1565         * platform/graphics/filters/FilterOperation.h: Rename data() and setData() to
1566             cachedSVGDocumentReference() and its setter. Adapt other classes.
1567         (WebCore::FilterOperation::ReferenceFilterOperation::cachedSVGDocumentReference):
1568         (WebCore::FilterOperation::ReferenceFilterOperation::setCachedSVGDocumentReference):
1569         (ReferenceFilterOperation):
1570         * rendering/FilterEffectRenderer.cpp:
1571         (WebCore::FilterEffectRenderer::buildReferenceFilter):
1572         * rendering/RenderLayerFilterInfo.cpp:
1573         (WebCore::RenderLayerFilterInfo::updateReferenceFilterClients):
1574
1575 2012-11-21  James Simonsen  <simonjam@chromium.org>
1576
1577         Remove the concept of initiatorDocument from CachedResourceRequest
1578         https://bugs.webkit.org/show_bug.cgi?id=102855
1579
1580         Reviewed by Sam Weinig.
1581
1582         It turns out this isn't necessary for the new implementation of Resource Timing. Instead,
1583         we can get at it from the CachedResourceLoader. I don't think anyone else needed it either.
1584
1585         No new tests. This was never used.
1586
1587         * css/CSSFontFaceSrcValue.cpp:
1588         (WebCore::CSSFontFaceSrcValue::cachedFont):
1589         * css/CSSImageSetValue.cpp:
1590         (WebCore::CSSImageSetValue::cachedImageSet):
1591         * css/CSSImageValue.cpp:
1592         (WebCore::CSSImageValue::cachedImage):
1593         * css/StyleRuleImport.cpp:
1594         (WebCore::StyleRuleImport::requestStyleSheet):
1595         * css/WebKitCSSSVGDocumentValue.cpp:
1596         (WebCore::WebKitCSSSVGDocumentValue::load):
1597         * css/WebKitCSSShaderValue.cpp:
1598         (WebCore::WebKitCSSShaderValue::cachedShader):
1599         * html/parser/CSSPreloadScanner.cpp:
1600         (WebCore::CSSPreloadScanner::emitRule):
1601         * html/parser/HTMLPreloadScanner.cpp:
1602         (WebCore::PreloadTask::preload):
1603         * loader/cache/CachedResourceRequest.cpp:
1604         (WebCore::CachedResourceRequest::setInitiator):
1605         * loader/cache/CachedResourceRequest.h:
1606         (CachedResourceRequest):
1607         * loader/icon/IconLoader.cpp:
1608         (WebCore::IconLoader::startLoading):
1609
1610 2012-11-21  Sheriff Bot  <webkit.review.bot@gmail.com>
1611
1612         Unreviewed, rolling out r135437.
1613         http://trac.webkit.org/changeset/135437
1614         https://bugs.webkit.org/show_bug.cgi?id=102986
1615
1616         This patch causes crash to some layout tests (Requested by
1617         jianli on #webkit).
1618
1619         * dom/NodeRenderingContext.cpp:
1620         (WebCore::NodeRenderingContext::createRendererIfNeeded):
1621         * rendering/RenderObject.cpp:
1622         (WebCore::RenderObject::createObject):
1623
1624 2012-11-21  Andreas Kling  <akling@apple.com>
1625
1626         Style sharing: Compare class lists via SpaceSplitString instead of string comparison.
1627         <http://webkit.org/b/102982>
1628
1629         Reviewed by Antti Koivisto.
1630
1631         Add an operator!= to SpaceSplitString and use that check if two elements are eligible
1632         for style sharing instead of comparing the fastGetAttribute(classAttr) return values.
1633         This works because SpaceSplitString maps equal strings to the same data internally.
1634
1635         * css/StyleResolver.cpp:
1636         (WebCore::haveIdenticalStyleAffectingAttributes):
1637         * dom/SpaceSplitString.h:
1638         (WebCore::SpaceSplitString::operator!=):
1639         (SpaceSplitString):
1640
1641 2012-11-21  Sheriff Bot  <webkit.review.bot@gmail.com>
1642
1643         Unreviewed, rolling out r135338, r135359, and r135378.
1644         http://trac.webkit.org/changeset/135338
1645         http://trac.webkit.org/changeset/135359
1646         http://trac.webkit.org/changeset/135378
1647         https://bugs.webkit.org/show_bug.cgi?id=102981
1648
1649         Likely caused a 10% regression in
1650         dromaeo_domcoreattr/dom_attr_getAttribute (Requested by abarth
1651         on #webkit).
1652
1653         * bindings/scripts/CodeGeneratorV8.pm:
1654         (GenerateEventConstructorCallback):
1655         (ConvertToV8Parameter):
1656         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1657         (WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):
1658         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1659         (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):
1660         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1661         (WebCore::V8TestEventConstructor::constructorCallback):
1662         * bindings/scripts/test/V8/V8TestInterface.cpp:
1663         (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrSetter):
1664         (WebCore::TestInterfaceV8Internal::supplementalStr2AttrSetter):
1665         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
1666         (WebCore::V8TestInterface::constructorCallback):
1667         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1668         (WebCore::V8TestNamedConstructorConstructorCallback):
1669         * bindings/scripts/test/V8/V8TestObj.cpp:
1670         (WebCore::TestObjV8Internal::staticStringAttrAttrSetter):
1671         (WebCore::TestObjV8Internal::stringAttrAttrSetter):
1672         (WebCore::TestObjV8Internal::reflectedStringAttrAttrSetter):
1673         (WebCore::TestObjV8Internal::reflectedURLAttrAttrSetter):
1674         (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrSetter):
1675         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetter):
1676         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetter):
1677         (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
1678         (WebCore::TestObjV8Internal::longMethodWithArgsCallback):
1679         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
1680         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
1681         (WebCore::TestObjV8Internal::methodWithOptionalStringCallback):
1682         (WebCore::TestObjV8Internal::methodWithOptionalStringIsUndefinedCallback):
1683         (WebCore::TestObjV8Internal::methodWithOptionalStringIsNullStringCallback):
1684         (WebCore::TestObjV8Internal::overloadedMethod1Callback):
1685         (WebCore::TestObjV8Internal::overloadedMethod3Callback):
1686         (WebCore::TestObjV8Internal::overloadedMethod11Callback):
1687         (WebCore::TestObjV8Internal::overloadedMethod12Callback):
1688         (WebCore::TestObjV8Internal::strictFunctionCallback):
1689         (WebCore::TestObjV8Internal::variadicStringMethodCallback):
1690         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1691         (WebCore::V8TestOverloadedConstructors::constructor4Callback):
1692         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1693         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
1694         * bindings/v8/V8BindingMacros.h:
1695         * bindings/v8/V8StringResource.h:
1696         (WebCore::V8Parameter::V8Parameter):
1697         (V8Parameter):
1698         (WebCore::V8Parameter::prepareBase):
1699         (WebCore::V8Parameter::object):
1700         (WebCore::::prepare):
1701         * bindings/v8/custom/V8ConsoleCustom.cpp:
1702         (WebCore::V8Console::profileCallback):
1703         (WebCore::V8Console::profileEndCallback):
1704         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1705         (WebCore::handlePostMessageCallback):
1706         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
1707         (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
1708         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
1709         (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
1710         * bindings/v8/custom/V8HistoryCustom.cpp:
1711         (WebCore::V8History::pushStateCallback):
1712         (WebCore::V8History::replaceStateCallback):
1713         * bindings/v8/custom/V8IntentCustom.cpp:
1714         (WebCore::V8Intent::constructorCallbackCustom):
1715         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1716         (WebCore::V8SQLTransaction::executeSqlCallback):
1717         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
1718         (WebCore::V8SQLTransactionSync::executeSqlCallback):
1719         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1720         (WebCore::V8WebGLRenderingContext::getExtensionCallback):
1721
1722 2012-11-21  Tien-Ren Chen  <trchen@chromium.org>
1723
1724         Invalidate non-composited content host when page scale factor changes
1725         https://bugs.webkit.org/show_bug.cgi?id=100718
1726
1727         Reviewed by Adam Barth.
1728
1729         During a scale change, non-composited content layer doesn't get invalidated
1730         automatically by the transformation change on RenderView. Need to force
1731         update non-composited contents ourself.
1732
1733         Test: compositing/repaint/page-scale-repaint.html
1734
1735         * page/Page.cpp:
1736         (WebCore::Page::setPageScaleFactor):
1737
1738 2012-11-21  Ryosuke Niwa  <rniwa@webkit.org>
1739
1740         Yet another EFL & GTK+ build fix after r135429.
1741
1742         * html/HTMLPropertiesCollection.cpp:
1743         (WebCore::HTMLPropertiesCollection::create):
1744
1745 2012-11-21  Elliott Sprehn  <esprehn@chromium.org>
1746
1747         Node::createRenderer should never return null
1748         https://bugs.webkit.org/show_bug.cgi?id=102975
1749
1750         Reviewed by Ojan Vafai.
1751
1752         Node::createRenderer should never return null, instead Node::rendererIsNeeded
1753         should return false if a node doesn't wish to have a renderer. This method
1754         never actually returns null right now, but the code makes it look like it
1755         could.
1756
1757         No new tests, just refactoring.
1758
1759         * dom/NodeRenderingContext.cpp:
1760         (WebCore::NodeRenderingContext::createRendererIfNeeded):
1761         * rendering/RenderObject.cpp:
1762         (WebCore::RenderObject::createObject):
1763
1764 2012-11-21  Fady Samuel  <fsamuel@chromium.org>
1765
1766         Clear MousePressed state on context menu to avoid initiating a drag
1767         https://bugs.webkit.org/show_bug.cgi?id=101786
1768
1769         Reviewed by Ojan Vafai.
1770
1771         If a user initiates a drag via left mouse down, brings up the context menu,
1772         and then cancels the context menu while keeping the left mouse button down,
1773         then the drag operation will continue. This does not match the platform
1774         conventions on Windows, Linux or Mac .
1775
1776         This change cancels the drag if the context menu is about to be displayed.
1777
1778         Test: fast/events/context-nodrag.html
1779
1780         * page/EventHandler.cpp:
1781         (WebCore::EventHandler::sendContextMenuEvent):
1782
1783 2012-11-21  Patrick Gansterer  <paroga@webkit.org>
1784
1785         Use MIMETypeRegistryWin for WinCE port too
1786         https://bugs.webkit.org/show_bug.cgi?id=102977
1787
1788         Reviewed by Laszlo Gombos.
1789
1790         r135217 made MIMETypeRegistryWin compile on WinCE too,
1791         which allows us to get rid of MIMETypeRegistryWinCE.
1792
1793         * PlatformWinCE.cmake:
1794         * WebCore.gypi:
1795         * platform/wince/MIMETypeRegistryWinCE.cpp: Removed.
1796
1797 2012-11-21  Dan Carney  <dcarney@google.com>
1798
1799         [V8] Add context checks to WorldContextHandle and V8DOMWindowShell
1800         https://bugs.webkit.org/show_bug.cgi?id=101573
1801
1802         Reviewed by Adam Barth.
1803
1804         Added a bunch of assertions to ensure the problems with IndexedDB
1805         contexts cannot reemerge.
1806
1807         No new tests. No change in functionality.
1808
1809         * bindings/v8/V8DOMWindowShell.cpp:
1810         (WebCore):
1811         (WebCore::V8DOMWindowShell::assertContextHasCorrectPrototype):
1812         * bindings/v8/V8DOMWindowShell.h:
1813         (V8DOMWindowShell):
1814         (WebCore::V8DOMWindowShell::isolated):
1815         * bindings/v8/WorldContextHandle.cpp:
1816         (WebCore::WorldContextHandle::WorldContextHandle):
1817
1818 2012-11-21  Elliott Sprehn  <esprehn@chromium.org>
1819
1820         Remove unnecessary ternaries in createRendererIfNeeded
1821         https://bugs.webkit.org/show_bug.cgi?id=102974
1822
1823         Reviewed by Ojan Vafai.
1824
1825         parentRenderer, nextRenderer and previousRenderer all handle flow
1826         threads automatically so there's no reason to duplicate the check in 
1827         createRendererIfNeeded.
1828
1829         Note that while these methods first check the node for a renderer and
1830         then delegate to the flow thread the node never has a renderer when
1831         calling createRendererIfNeeded per the assertion at the top so this
1832         change is equivalent.
1833
1834         No new tests, just refactoring.
1835
1836         * dom/NodeRenderingContext.cpp:
1837         (WebCore::NodeRenderingContext::createRendererIfNeeded):
1838
1839 2012-11-21  Ryosuke Niwa  <rniwa@webkit.org>
1840
1841         EFL and GTK+ build fix after r135429.
1842
1843         * dom/Element.cpp:
1844         (WebCore::ElementRareData::ensureCachedHTMLCollection):
1845
1846 2012-11-20  Ryosuke Niwa  <rniwa@webkit.org>
1847
1848         HTMLCollection should use the same storage as DynamicNodeList
1849         https://bugs.webkit.org/show_bug.cgi?id=102886
1850
1851         Reviewed by Antti Koivisto.
1852
1853         This patch removes ElementRareData::m_collection. HTMLCollections are now held by
1854         NodeListNodeData in NodeRareData like DynamicNodeLists. This simplifies several
1855         Element and Node functions where we used to call into both ElementRareData and
1856         NodeRareData to invalidate caches.
1857
1858         This is a refactoring and there should be no behavioral change.
1859
1860         * dom/DynamicNodeList.h:
1861         * dom/Element.cpp:
1862         (WebCore::ElementRareData::ensureCachedHTMLCollection):
1863         * dom/ElementRareData.cpp:
1864         (WebCore::ElementRareData::reportMemoryUsage):
1865         * dom/ElementRareData.h:
1866         (ElementRareData):
1867         (WebCore::ElementRareData::cachedHTMLCollection):
1868         (WebCore::ElementRareData::removeCachedHTMLCollection):
1869         * dom/Node.cpp:
1870         (WebCore::Node::invalidateNodeListCachesInAncestors):
1871         * dom/NodeRareData.h:
1872         (NodeListsNodeData):
1873         (WebCore::NodeListsNodeData::addCacheWithAtomicName):
1874         (WebCore::NodeListsNodeData::cacheWithAtomicName):
1875         (WebCore::NodeListsNodeData::removeCacheWithAtomicName):
1876         (WebCore::NodeListsNodeData::adoptTreeScope):
1877         (WebCore::NodeListsNodeData::namedNodeListKey):
1878         * dom/TreeScopeAdopter.cpp:
1879         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
1880         * html/HTMLFormControlsCollection.cpp:
1881         (WebCore::HTMLFormControlsCollection::create):
1882         * html/HTMLFormControlsCollection.h:
1883         (HTMLFormControlsCollection):
1884         * html/HTMLOptionsCollection.cpp:
1885         (WebCore::HTMLOptionsCollection::create):
1886         * html/HTMLOptionsCollection.h:
1887         (HTMLOptionsCollection::create):
1888         * html/HTMLPropertiesCollection.h:
1889         (HTMLPropertiesCollection::create):
1890         * html/HTMLTableRowsCollection.cpp:
1891         (WebCore::HTMLTableRowsCollection::create):
1892         * html/HTMLTableRowsCollection.h:
1893         (HTMLTableRowsCollection):
1894
1895 2012-11-21  Andreas Kling  <akling@apple.com>
1896
1897         Update incorrect assertion in ImmutableElementAttributeData(MutableElementAttributeData).
1898         <http://webkit.org/b/102972>
1899
1900         Reviewed by Antti Koivisto.
1901
1902         Manipulation by editing code may cause an element to have mutable inline style, and this is fine.
1903
1904         Change the assertion to confirm that the inline style doesn't have a CSSOM wrapper attached,
1905         which is where real problems would happen. 
1906
1907         Fixes an assertion on editing/undo/replace-by-span-then-remove.html
1908
1909         * dom/ElementAttributeData.cpp:
1910         (WebCore::ImmutableElementAttributeData::ImmutableElementAttributeData):
1911
1912 2012-11-21  Kentaro Hara  <haraken@chromium.org>
1913
1914         Remove $outputDir and $outputHeadersDir from global variables of code generators
1915         https://bugs.webkit.org/show_bug.cgi?id=102492
1916
1917         Reviewed by Adam Barth.
1918
1919         $outputDir and $outputHeadersDir are used in WriteData() only.
1920         We don't need to use global variables for them.
1921
1922         No tests. No change in behavior.
1923
1924         * bindings/scripts/CodeGenerator.pm:
1925         (ProcessDocument):
1926         (FileNamePrefix):
1927         * bindings/scripts/CodeGeneratorCPP.pm:
1928         (new):
1929         (GenerateInterface):
1930         (WriteData):
1931         * bindings/scripts/CodeGeneratorGObject.pm:
1932         (new):
1933         (WriteData):
1934         (GenerateInterface):
1935         * bindings/scripts/CodeGeneratorJS.pm:
1936         (new):
1937         (GenerateInterface):
1938         (WriteData):
1939         * bindings/scripts/CodeGeneratorObjC.pm:
1940         (new):
1941         (GenerateInterface):
1942         (WriteData):
1943         * bindings/scripts/CodeGeneratorV8.pm:
1944         (new):
1945         (GenerateInterface):
1946         (WriteData):
1947
1948 2012-11-21  Joshua Bell  <jsbell@chromium.org>
1949
1950         Remove IDBDatabaseException
1951         https://bugs.webkit.org/show_bug.cgi?id=102514
1952
1953         Reviewed by Adam Barth.
1954
1955         After the WebKit implementation landed, the IndexedDB spec changed from defining new
1956         exception codes with constants hanging off an interface to using DOM4-styled named
1957         DOMExceptions. Remove the IDBDatabaseException interface and set codes for IDB-specific
1958         exceptions to 0. (The .idl file is retained pending general ExceptionCode cleanup.)
1959
1960         Also remove IDBRequest.errorCode which was used for reporting asynchronous errors;
1961         IDBRequest.error - a DOMError - should be used instead.
1962
1963         No new tests - covered by plenty of existing tests which have been updated.
1964
1965         * Modules/indexeddb/DOMWindowIndexedDatabase.idl: Don't expose the interface.
1966         * Modules/indexeddb/IDBCursor.idl: Remove reference to IDBDatabaseException.
1967         * Modules/indexeddb/IDBDatabase.idl: Ditto.
1968         * Modules/indexeddb/IDBDatabaseException.cpp:
1969         (IDBDatabaseExceptionNameDescription): Use either a DOMException code or 0.
1970         (WebCore::IDBDatabaseException::initializeDescription):
1971         (WebCore::IDBDatabaseException::getLegacyErrorCode):
1972         * Modules/indexeddb/IDBFactory.idl: Remove reference to IDBDatabaseException.
1973         * Modules/indexeddb/IDBIndex.idl: Ditto.
1974         * Modules/indexeddb/IDBKeyRange.idl: Ditto.
1975         * Modules/indexeddb/IDBObjectStore.idl: Ditto.
1976         * Modules/indexeddb/IDBRequest.idl: Ditto.
1977         * Modules/indexeddb/IDBTransaction.idl: Ditto.
1978         * Modules/indexeddb/WorkerContextIndexedDatabase.idl: Don't expose the interface.
1979         * bindings/v8/IDBBindingUtilities.cpp: Remove unneeded #include.
1980
1981 2012-11-21  W. James MacLean  <wjmaclean@chromium.org>
1982
1983         [chromium] Fix indenting in RenderThemeChromiumSkia.h.
1984         https://bugs.webkit.org/show_bug.cgi?id=102965
1985
1986         Reviewed by Adam Barth.
1987
1988         Much of RenderThemeChromiumSkia.h was indented too far, making the
1989         file confusing to read. This CL removes the extra indents.
1990
1991         * rendering/RenderThemeChromiumSkia.h:
1992         (RenderThemeChromiumSkia):
1993
1994 2012-11-21  Andreas Kling  <akling@apple.com>
1995
1996         Make it possible for elements with different tag names to share attribute data.
1997         <http://webkit.org/b/102845>
1998
1999         Reviewed by Antti Koivisto.
2000
2001         Allow all elements to share ElementAttributeData with one another. This means that the elements
2002         in this hypothetical markup will all point to the same attribute data:
2003
2004             <div class="foo">
2005                 <span class="foo">
2006                     <hr class="foo"/>
2007                 </span>
2008             </div>
2009
2010         This optimization happens at the expense of an old one. We no longer share attribute data
2011         between elements that have presentation attributes, since they map to different CSS properties
2012         depending on what tag they're attached to. These are mostly used in ye olde web 1.0 content
2013         though, and we should prefer optimizing in favor of modern markup. The global cache for
2014         presentation attribute style in StyledElement.cpp still prevents redundant parsing.
2015
2016         On the upside, excluding elements with presentation attributes from the data cache means that
2017         we can move one pointer (m_presentationAttributeStyle) from ImmutableElementAttributeData
2018         to MutableElementAttributeData.
2019
2020         800kB progression on Membuster3.
2021
2022         * dom/Document.h:
2023         * dom/Document.cpp:
2024         (WebCore::ImmutableAttributeDataCacheKey::ImmutableAttributeDataCacheKey):
2025         (WebCore::ImmutableAttributeDataCacheKey::operator!=):
2026         (WebCore::ImmutableAttributeDataCacheKey::hash):
2027         (ImmutableAttributeDataCacheKey):
2028         (WebCore::Document::cachedImmutableAttributeData):
2029         * dom/Element.cpp:
2030         (WebCore::Element::parserSetAttributes):
2031
2032             Don't use the element's tag name in the key for the immutable attribute data cache.
2033
2034         (WebCore::Element::cloneAttributesFromElement):
2035
2036             Prevent cloneNode() from converting mutable attribute data to immutable if it has
2037             presentation attributes.
2038
2039         * dom/ElementAttributeData.cpp:
2040         (WebCore::ImmutableElementAttributeData::ImmutableElementAttributeData):
2041
2042             Add an assertion that mutable-to-immutable conversion never happens with presentation
2043             attribute style present.
2044
2045         (WebCore::ElementAttributeData::ElementAttributeData):
2046         (WebCore::MutableElementAttributeData::MutableElementAttributeData):
2047         (WebCore::ElementAttributeData::reportMemoryUsage):
2048         * dom/ElementAttributeData.h:
2049         (ElementAttributeData):
2050         (MutableElementAttributeData):
2051         (WebCore::ElementAttributeData::presentationAttributeStyle):
2052         (WebCore):
2053         (WebCore::ElementAttributeData::setPresentationAttributeStyle):
2054
2055             Move the RefPtr<StylePropertySet> that holds presentation attribute-derived style
2056             from the common ElementAttributeData base class to MutableElementAttributeData.
2057
2058         * dom/StyledElement.cpp:
2059         (WebCore::StyledElement::attributeChanged):
2060
2061             Always dirty the presentation attribute style when a presentation attribute changes.
2062
2063         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
2064
2065             Force promotion to mutable attribute data when it turns out that we need to hang a
2066             StylePropertySet with the presentation attribute style off of it.
2067
2068 2012-11-21  Antti Koivisto  <antti@apple.com>
2069
2070         Replace NodeRendererFactory class with a function
2071         https://bugs.webkit.org/show_bug.cgi?id=102950
2072
2073         Reviewed by Andreas Kling.
2074
2075         Simplify the code by turning NodeRendererFactory single-use class into function of NodeRenderingContext.
2076
2077         * dom/Node.cpp:
2078         (WebCore::Node::createRendererIfNeeded):
2079         * dom/NodeRenderingContext.cpp:
2080         (WebCore::NodeRenderingContext::NodeRenderingContext):
2081         (WebCore):
2082         (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
2083         (WebCore::NodeRenderingContext::createRendererIfNeeded):
2084         * dom/NodeRenderingContext.h:
2085         (NodeRenderingContext):
2086         (WebCore::NodeRenderingContext::style):
2087         (WebCore):
2088
2089 2012-11-21  W. James MacLean  <wjmaclean@chromium.org>
2090
2091         [chromium] Change default tap highlight color for Chromium Windows & Linux.
2092         https://bugs.webkit.org/show_bug.cgi?id=102939
2093
2094         Reviewed by Adam Barth.
2095
2096         Change default tap highlight colour on Chromium Win/Linux to be 18% black.
2097
2098         * rendering/RenderThemeChromiumSkia.h:
2099         (RenderThemeChromiumSkia): Override platformTapHighlightColor() to change default highlight colour.
2100
2101 2012-11-21  Tony Chang  <tony@chromium.org>
2102
2103         Relayout the slider track when a data list is set
2104         https://bugs.webkit.org/show_bug.cgi?id=102851
2105
2106         Reviewed by Ojan Vafai.
2107
2108         Previously, we would relayout the <input>.  Once we fix bug 102352, this
2109         causes the slider track to not relayout.  It should relayout because it
2110         draws the data list tick marks and needs to provide space for them.
2111
2112         No new tests, not testable until bug 102352 is fixed. Specifically,
2113         fast/forms/datalist/update-range-with-datalist.html reveals the bug.
2114
2115         * html/RangeInputType.cpp:
2116         (WebCore::RangeInputType::listAttributeTargetChanged):
2117
2118 2012-11-21  Kevin Ellis  <kevers@chromium.org>
2119
2120         [chromium] Add flag to enable/disable touch adjustment at runtime.
2121         https://bugs.webkit.org/show_bug.cgi?id=102534
2122
2123         Reviewed by Antonio Gomes.
2124
2125         Add setting for enabling or disabling touch adjustment.  Note that for
2126         touch adjustment to apply, the compile flag must also be enabled.  A
2127         compile only option is insufficient as it does not allow developers to
2128         quickly test the impact of touch adjustemnt without recompiling.  Nor
2129         does it allow end users to disable touch adjustemnt if they find that
2130         touch adjustment is not working well for a particular site.
2131
2132         No new tests required.
2133
2134         * page/EventHandler.cpp:
2135         (WebCore::EventHandler::handleGestureEvent): Move enable check to adjustGesturePosition.
2136         (WebCore::EventHandler::handleGestureTap): Move enable check to adjustGesturePosition.
2137         (WebCore::EventHandler::shouldApplyTouchAdjustment): Checks if touch adjustment is enabled.
2138         (WebCore):
2139         (WebCore::EventHandler::adjustGesturePosition): Add check for enabling of touch adjustment.
2140         (WebCore::EventHandler::sendContextMenuEventForGesture): Move enable check to adjustGesturePosition.
2141         * page/EventHandler.h:
2142         (EventHandler):
2143         * page/Settings.in:
2144
2145 2012-11-21  Philippe Normand  <pnormand@igalia.com>
2146
2147         Unreviewed, build fix after r135410.
2148
2149         * html/track/InbandTextTrack.cpp:
2150         (WebCore::InbandTextTrack::addCue): Prevent unused parameter error.
2151
2152 2012-11-21  Andrey Lushnikov  <lushnikov@chromium.com>
2153
2154         Web Inspector: Ctrl+A closes breakpoint condition editor
2155         https://bugs.webkit.org/show_bug.cgi?id=102906
2156
2157         Reviewed by Pavel Feldman.
2158
2159         Check if e.target has no ancestors with className
2160         "webkit-line-decorations" in DefaultTextEditor._handleKeyDown
2161
2162         * inspector/front-end/DefaultTextEditor.js:
2163         (WebInspector.DefaultTextEditor.prototype._handleKeyDown): Add check
2164
2165 2012-11-21  Tom Hudson  <tomhudson@chromium.org>
2166
2167         Avoid creating degenerate cubics at corners of rounded rects.
2168         https://bugs.webkit.org/show_bug.cgi?id=102945
2169
2170         Reviewed by Stephen White.
2171
2172         Covered by existing layout tests.
2173
2174         * platform/graphics/Path.cpp:
2175         (Path::addBeziersForRoundedRect):
2176
2177 2012-11-21  Eric Carlson  <eric.carlson@apple.com>
2178
2179         In-band text tracks infrastructure
2180         https://bugs.webkit.org/show_bug.cgi?id=102830
2181
2182         Reviewed by Philippe Normand.
2183
2184         Add the infrastructure necessary to allow a port-specific media engine to expose in-band text
2185         tracks.
2186
2187         No new tests, this patch only adds plumbing. Existing tests verify that these changes don't
2188         break existing functionality.
2189
2190         * CMakeLists.txt: Add new project files.
2191         * GNUmakefile.list.am: Ditto.
2192         * Target.pri: Ditto.
2193         * WebCore.gypi: Ditto.
2194         * WebCore.xcodeproj/project.pbxproj: Ditto.
2195
2196         * html/HTMLMediaElement.cpp:
2197         (WebCore::HTMLMediaElement::setReadyState): Call processInbandTextTracks when readyState reaches
2198             HAVE_METADATA
2199         (WebCore::HTMLMediaElement::processInbandTextTracks): Fetch the in-band text tracks from the 
2200             media player and processes them.
2201         * html/HTMLMediaElement.h:
2202
2203         * html/track/InbandTextTrack.cpp: Added.
2204         * html/track/InbandTextTrack.h: Added.
2205         * html/track/InbandTextTrackPrivate.h: Added.
2206
2207         * html/track/TextTrack.h:
2208         (TextTrack):
2209         (WebCore::TextTrack::clearClient): Remove virtual, it is unnecessary
2210         (WebCore::TextTrack::mode): Make virtual so derived classes can override.
2211         (WebCore::TextTrack::setMode): Ditto.
2212
2213         * html/track/TextTrackList.cpp:
2214         (TextTrackList::length): Update to deal with in-band tracks.
2215         (TextTrackList::getTrackIndex): Ditto.
2216         (TextTrackList::getTrackIndexRelativeToRenderedTracks): Ditto.
2217         (TextTrackList::item): Ditto.
2218         (TextTrackList::invalidateTrackIndexesAfterTrack): New, invalidate the cached track indexes of
2219             all tracks after another.
2220         (TextTrackList::append): Update to deal with in-band tracks.
2221         (TextTrackList::remove): Update to deal with in-band tracks.
2222         (TextTrackList::scheduleAddTrackEvent): Remove typo.
2223         * html/track/TextTrackList.h:
2224
2225         * platform/graphics/MediaPlayer.cpp:
2226         (WebCore::MediaPlayer::getTextTracks): New, pass through to the media engine.
2227         (WebCore::MediaPlayer::setTextTrackClient):
2228         * platform/graphics/MediaPlayer.h:
2229
2230         * platform/graphics/MediaPlayerPrivate.h:
2231         (WebCore::MediaPlayerPrivateInterface::setPreload): Cleanup.
2232         (WebCore::MediaPlayerPrivateInterface::sourceEndOfStream): Ditto.
2233         (WebCore::MediaPlayerPrivateInterface::getTextTracks): New client method.
2234         (WebCore::MediaPlayerPrivateInterface::setTextTrackClient): Ditto.
2235
2236 2012-11-21  Kai Koehne  <kai.koehne@digia.com>
2237
2238         [Qt] MinGW: Explicitly add OpenGL library dependencies
2239         https://bugs.webkit.org/show_bug.cgi?id=102924
2240
2241         Reviewed by Simon Hausmann.
2242
2243         Adding the dependencies to WebKit1 is too late, because linking will have already failed. Also make sure that 
2244         the we link against OpenGLES1 e.g. for Angle.
2245
2246         * WebCore.pri:
2247
2248 2012-11-21  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2249
2250         Disambiguate innerNodeFramePoint and mainFramePoint
2251         https://bugs.webkit.org/show_bug.cgi?id=98139
2252
2253         Reviewed by Julien Chaffraix.
2254
2255         Splits the point() method in HitTestResult into two, innerNodeFramePoint and mainFramePoint().
2256         To do this HitTestResult no longer inherits publically from HitTestLocation, which should also
2257         help to later separate the two classes completely.
2258
2259         Many of the call-sites of hitTestResultAtPoint confuses which coordinates the point is in.
2260         These have not have been fixed in this patch, and they should be audited by the individual ports.
2261
2262         * WebCore.exp.in:
2263         * dom/Document.cpp:
2264         (WebCore::Document::nodesFromRect):
2265         * page/EventHandler.cpp:
2266         (WebCore::EventHandler::eventMayStartDrag):
2267         (WebCore::EventHandler::hitTestResultAtPoint):
2268             Set and maintain pointInMainFrame on the HitTestResult.
2269         * rendering/HitTestResult.cpp:
2270         (WebCore::HitTestResult::HitTestResult):
2271             Construct pointInMainFrame as a copy of pointInInnerNodeFrame. This is correct
2272             for all hit-tests outside of the recursion in EventHandler::hitTestResultAtPoint.
2273         (WebCore::HitTestResult::operator=):
2274         (WebCore::HitTestResult::innerNodeFrame):
2275         (WebCore::HitTestResult::append):
2276         * rendering/HitTestResult.h:
2277         (WebCore::HitTestLocation::point):
2278         (HitTestResult):
2279             Inherits protected now from HitTestLocation to avoid exposing the ambiguous
2280             point() and roundedPoint() methods. 
2281             HitTestResult will be split completely from HitTestLocation in a later patch.
2282         (WebCore::HitTestResult::isRectBasedTest):
2283         (WebCore::HitTestResult::pointInMainFrame):
2284         (WebCore::HitTestResult::roundedPointInMainFrame):
2285         (WebCore::HitTestResult::setPointInMainFrame):
2286         (WebCore::HitTestResult::pointInInnerNodeFrame):
2287         (WebCore::HitTestResult::roundedPointInInnerNodeFrame):
2288         (WebCore::HitTestResult::localPoint):
2289         (WebCore::HitTestResult::setLocalPoint):
2290         * rendering/RenderLayer.cpp:
2291         (WebCore::RenderLayer::hitTest):
2292
2293 2012-11-21  Sheriff Bot  <webkit.review.bot@gmail.com>
2294
2295         Unreviewed, rolling out r135383.
2296         http://trac.webkit.org/changeset/135383
2297         https://bugs.webkit.org/show_bug.cgi?id=102935
2298
2299         IDBRequestTest.* unit tests are failing (Requested by yurys on
2300         #webkit).
2301
2302         * bindings/v8/V8DOMWindowShell.cpp:
2303         (WebCore::V8DOMWindowShell::installDOMWindow):
2304         * bindings/v8/V8DOMWindowShell.h:
2305         (V8DOMWindowShell):
2306         (WebCore::V8DOMWindowShell::isolated):
2307         * bindings/v8/WorldContextHandle.cpp:
2308         (WebCore::WorldContextHandle::WorldContextHandle):
2309
2310 2012-11-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2311
2312         [EFL][WK2] Support Context Menu
2313         https://bugs.webkit.org/show_bug.cgi?id=96200
2314
2315         Reviewed by Laszlo Gombos.
2316
2317         * page/ContextMenuController.cpp:
2318         (WebCore::ContextMenuController::populate):
2319         EFL port also doesn't hide unavailable menus as gtk port.
2320
2321 2012-11-21  Florin Malita  <fmalita@chromium.org>
2322
2323         [Chromium] Unreviewed Mac build fix after http://trac.webkit.org/changeset/135390.
2324
2325         * platform/graphics/skia/GraphicsContextSkia.cpp:
2326         (WebCore::drawInnerPath):
2327
2328 2012-11-21  Florin Malita  <fmalita@chromium.org>
2329
2330         [Skia] Encapsulate access to PlatformContextSkia's SkCanvas
2331         https://bugs.webkit.org/show_bug.cgi?id=102694
2332
2333         Reviewed by Stephen White.
2334
2335         Add SkCanvas-equivalent methods to PlatformContextSkia, and refactor direct canvas call
2336         sites to use these wrappers instead. This reduces the number of canvas() users from 90+
2337         to 22 (mostly theme/ui code).
2338
2339         No new tests: refactoring only.
2340
2341         * platform/chromium/PlatformThemeChromiumLinux.cpp:
2342         (WebCore::PlatformThemeChromiumLinux::paintArrowButton):
2343         * platform/graphics/chromium/FontChromiumWin.cpp:
2344         * platform/graphics/chromium/TransparencyWin.cpp:
2345         (WebCore::TransparencyWin::computeLayerSize):
2346         (WebCore::TransparencyWin::compositeOpaqueComposite):
2347         (WebCore::TransparencyWin::compositeTextComposite):
2348         (WebCore::TransparencyWin::makeLayerOpaque):
2349         * platform/graphics/filters/skia/FEBlendSkia.cpp:
2350         (WebCore::FEBlend::platformApplySkia):
2351         * platform/graphics/filters/skia/FEColorMatrixSkia.cpp:
2352         (WebCore::FEColorMatrix::platformApplySkia):
2353         * platform/graphics/filters/skia/FEComponentTransferSkia.cpp:
2354         (WebCore::FEComponentTransfer::platformApplySkia):
2355         * platform/graphics/filters/skia/FELightingSkia.cpp:
2356         (WebCore::FELighting::platformApplySkia):
2357         * platform/graphics/harfbuzz/FontHarfBuzz.cpp:
2358         (WebCore::Font::drawGlyphs):
2359         (WebCore::Font::drawComplexText):
2360         * platform/graphics/skia/FontSkia.cpp:
2361         (WebCore::Font::drawGlyphs):
2362         * platform/graphics/skia/GraphicsContextSkia.cpp:
2363         (WebCore::GraphicsContext::addInnerRoundedRectClip):
2364         (WebCore::GraphicsContext::clearRect):
2365         (WebCore::GraphicsContext::clip):
2366         (WebCore::GraphicsContext::clipOut):
2367         (WebCore::GraphicsContext::clipPath):
2368         (WebCore::GraphicsContext::concatCTM):
2369         (WebCore::GraphicsContext::setCTM):
2370         (WebCore::GraphicsContext::drawConvexPolygon):
2371         (WebCore::GraphicsContext::clipConvexPolygon):
2372         (WebCore::GraphicsContext::drawEllipse):
2373         (WebCore::drawOuterPath):
2374         (WebCore::GraphicsContext::drawLine):
2375         (WebCore::GraphicsContext::drawLineForDocumentMarker):
2376         (WebCore::GraphicsContext::drawLineForText):
2377         (WebCore::GraphicsContext::fillPath):
2378         (WebCore::GraphicsContext::fillRect):
2379         (WebCore::GraphicsContext::fillRoundedRect):
2380         (WebCore::GraphicsContext::getCTM):
2381         (WebCore::GraphicsContext::scale):
2382         (WebCore::GraphicsContext::strokeArc):
2383         (WebCore::GraphicsContext::strokePath):
2384         (WebCore::GraphicsContext::strokeRect):
2385         (WebCore::GraphicsContext::rotate):
2386         (WebCore::GraphicsContext::translate):
2387         (WebCore::GraphicsContext::platformFillEllipse):
2388         (WebCore::GraphicsContext::platformStrokeEllipse):
2389         * platform/graphics/skia/ImageBufferSkia.cpp:
2390         (WebCore::getImageData):
2391         (WebCore::ImageBuffer::getUnmultipliedImageData):
2392         (WebCore::ImageBuffer::getPremultipliedImageData):
2393         (WebCore::ImageBuffer::putByteArray):
2394         (WebCore::ImageBuffer::toDataURL):
2395         * platform/graphics/skia/ImageSkia.cpp:
2396         (WebCore::drawResampledBitmap):
2397         (WebCore::hasNon90rotation):
2398         (WebCore::paintSkBitmap):
2399         (WebCore::Image::drawPattern):
2400         * platform/graphics/skia/PlatformContextSkia.cpp:
2401         (WebCore::PlatformContextSkia::save):
2402         (WebCore::PlatformContextSkia::beginLayerClippedToImage):
2403         (WebCore::PlatformContextSkia::restore):
2404         (WebCore::PlatformContextSkia::drawRect):
2405         (WebCore::PlatformContextSkia::couldUseLCDRenderedText):
2406         * platform/graphics/skia/PlatformContextSkia.h:
2407         (PlatformContextSkia):
2408         (WebCore::PlatformContextSkia::layerBitmap):
2409         (WebCore):
2410         (WebCore::PlatformContextSkia::readPixels):
2411         (WebCore::PlatformContextSkia::writePixels):
2412         (WebCore::PlatformContextSkia::isDrawingToLayer):
2413         (WebCore::PlatformContextSkia::isVector):
2414         (WebCore::PlatformContextSkia::clipPath):
2415         (WebCore::PlatformContextSkia::clipRect):
2416         (WebCore::PlatformContextSkia::getClipBounds):
2417         (WebCore::PlatformContextSkia::setMatrix):
2418         (WebCore::PlatformContextSkia::getTotalMatrix):
2419         (WebCore::PlatformContextSkia::concat):
2420         (WebCore::PlatformContextSkia::rotate):
2421         (WebCore::PlatformContextSkia::scale):
2422         (WebCore::PlatformContextSkia::translate):
2423         (WebCore::PlatformContextSkia::drawBitmap):
2424         (WebCore::PlatformContextSkia::drawBitmapRect):
2425         (WebCore::PlatformContextSkia::drawOval):
2426         (WebCore::PlatformContextSkia::drawPath):
2427         (WebCore::PlatformContextSkia::drawPoints):
2428         (WebCore::PlatformContextSkia::drawRect):
2429         (WebCore::PlatformContextSkia::drawIRect):
2430         (WebCore::PlatformContextSkia::drawPosText):
2431         (WebCore::PlatformContextSkia::drawPosTextH):
2432         (WebCore::PlatformContextSkia::drawTextOnPath):
2433         * platform/graphics/skia/SkiaFontWin.cpp:
2434         (WebCore::skiaDrawText):
2435         (WebCore::paintSkiaText):
2436         * platform/graphics/skia/SkiaUtils.cpp:
2437         (WebCore::ClipRectToCanvas):
2438         * platform/graphics/skia/SkiaUtils.h:
2439         (WebCore):
2440
2441 2012-11-21  Carlos Garcia Campos  <cgarcia@igalia.com>
2442
2443         Reset the slider thumb location before every layout of the slider container
2444         https://bugs.webkit.org/show_bug.cgi?id=102817
2445
2446         Reviewed by Tony Chang.
2447
2448         The location of the slider thumb is set by the slider container
2449         assuming the slider thumb has been laid out. When this happens,
2450         the location of the slider thumb is reset during the layout
2451         ignoring any previous location set. If the slider thumb is not
2452         laid out, the previous value is added to the new one by the slider
2453         container.
2454
2455         * html/shadow/SliderThumbElement.cpp:
2456         (WebCore::RenderSliderContainer::layout): Reset the location of
2457         the slider thumb before calling RenderFlexibleBox::layout().
2458
2459 2012-11-21  Kentaro Hara  <haraken@chromium.org>
2460
2461         Unreviewed, rolling out r135340.
2462         http://trac.webkit.org/changeset/135340
2463         https://bugs.webkit.org/show_bug.cgi?id=102492
2464
2465         It broke Safari's internal build
2466
2467         * bindings/scripts/CodeGenerator.pm:
2468         (ProcessDocument):
2469         (FileNamePrefix):
2470         * bindings/scripts/CodeGeneratorCPP.pm:
2471         (new):
2472         (GenerateInterface):
2473         (WriteData):
2474         * bindings/scripts/CodeGeneratorGObject.pm:
2475         (new):
2476         (WriteData):
2477         (GenerateInterface):
2478         * bindings/scripts/CodeGeneratorJS.pm:
2479         (new):
2480         (GenerateInterface):
2481         (WriteData):
2482         * bindings/scripts/CodeGeneratorObjC.pm:
2483         (new):
2484         (GenerateInterface):
2485         (WriteData):
2486         * bindings/scripts/CodeGeneratorV8.pm:
2487         (new):
2488         (GenerateInterface):
2489         (WriteData):
2490
2491 2012-11-21  Pavel Feldman  <pfeldman@chromium.org>
2492
2493         Web Inspector: reparenting view does not detach from the previous parent.
2494         https://bugs.webkit.org/show_bug.cgi?id=102902
2495
2496         Reviewed by Vsevolod Vlasov.
2497
2498         * inspector/front-end/View.js:
2499         (WebInspector.View.prototype.show):
2500
2501 2012-11-21  Ilya Tikhonovsky  <loislo@chromium.org>
2502
2503         Web Inspector: NMI add instrumentation to widely used ActiveDOMObjects. XMLHttpRequest, Prerenderer, HTMLMediaElement and DOMTimer.
2504         https://bugs.webkit.org/show_bug.cgi?id=102818
2505
2506         Reviewed by Vsevolod Vlasov.
2507
2508         Our test bot counts pointers which don't match with objects allocated by tcmalloc.
2509         This counter becomes nonzero after instrumenting ActiveDOMObject class.
2510         It happens because it is the base class for many other classes (~30).
2511         And almost all these classes use multiple inheritance.
2512
2513         * dom/Document.cpp:
2514         (WebCore::Document::reportMemoryUsage):
2515         * dom/DocumentEventQueue.cpp:
2516         * html/HTMLMediaElement.cpp:
2517         (WebCore::HTMLMediaElement::reportMemoryUsage):
2518         (WebCore):
2519         * html/HTMLMediaElement.h:
2520         * loader/Prerenderer.cpp:
2521         (WebCore::Prerenderer::reportMemoryUsage):
2522         (WebCore):
2523         * loader/Prerenderer.h:
2524         (Prerenderer):
2525         * page/DOMTimer.cpp:
2526         (WebCore::DOMTimer::reportMemoryUsage):
2527         (WebCore):
2528         * page/DOMTimer.h:
2529         (DOMTimer):
2530         * xml/XMLHttpRequest.cpp:
2531         (WebCore::XMLHttpRequest::reportMemoryUsage):
2532         (WebCore):
2533         * xml/XMLHttpRequest.h:
2534         (XMLHttpRequest):
2535
2536 2012-11-21  Dan Carney  <dcarney@google.com>
2537
2538         [V8] Add context checks to WorldContextHandle and V8DOMWindowShell
2539         https://bugs.webkit.org/show_bug.cgi?id=101573
2540
2541         Reviewed by Adam Barth.
2542
2543         Added a bunch of assertions to ensure the problems with IndexedDB
2544         contexts cannot reemerge.
2545
2546         No new tests. No change in functionality.
2547
2548         * bindings/v8/V8DOMWindowShell.cpp:
2549         (WebCore):
2550         (WebCore::V8DOMWindowShell::assertContextHasCorrectPrototype):
2551         * bindings/v8/V8DOMWindowShell.h:
2552         (V8DOMWindowShell):
2553         (WebCore::V8DOMWindowShell::isolated):
2554         * bindings/v8/WorldContextHandle.cpp:
2555         (WebCore::WorldContextHandle::WorldContextHandle):
2556
2557 2012-11-21  Harald Alvestrand  <hta@google.com>
2558
2559         WebMediaStreamComponent: Add assignment and copy operators
2560         https://bugs.webkit.org/show_bug.cgi?id=102915
2561
2562         Reviewed by Adam Barth.
2563
2564         Tests that use this functionality are being submitted to Chrome.
2565
2566         * platform/chromium/support/WebMediaStreamComponent.cpp:
2567         (WebKit::WebMediaStreamComponent::assign):
2568         (WebKit):
2569         * platform/chromium/support/WebMediaStreamDescriptor.cpp:
2570
2571 2012-11-21  Kentaro Hara  <haraken@chromium.org>
2572
2573         [V8] Remove STRING_TO_V8PARAMETER_EXCEPTION_BLOCK()
2574         https://bugs.webkit.org/show_bug.cgi?id=102917
2575
2576         Reviewed by Adam Barth.
2577
2578         Now EXCEPTION_BLOCK() and STRING_TO_V8PARAMETER_EXCEPTION_BLOCK()
2579         are equivalent. We can remove STRING_TO_V8PARAMETER_EXCEPTION_BLOCK().
2580         To make a code generate change smaller, this patch also renames
2581         STRING_TO_V8PARAMETER_EXCEPTION_BLOCK_VOID() to EXCEPTION_BLOCK_VOID().
2582         I will rename these macros in a follow-up patch.
2583
2584         No tests. No change in behavior.
2585
2586         * bindings/scripts/CodeGeneratorV8.pm:
2587         (GenerateEventConstructorCallback):
2588         (ConvertToV8Parameter):
2589         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2590         (WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):
2591         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2592         (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):
2593         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2594         (WebCore::V8TestEventConstructor::constructorCallback):
2595         * bindings/scripts/test/V8/V8TestInterface.cpp:
2596         (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrSetter):
2597         (WebCore::TestInterfaceV8Internal::supplementalStr2AttrSetter):
2598         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
2599         (WebCore::V8TestInterface::constructorCallback):
2600         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2601         (WebCore::V8TestNamedConstructorConstructorCallback):
2602         * bindings/scripts/test/V8/V8TestObj.cpp:
2603         (WebCore::TestObjV8Internal::staticStringAttrAttrSetter):
2604         (WebCore::TestObjV8Internal::stringAttrAttrSetter):
2605         (WebCore::TestObjV8Internal::reflectedStringAttrAttrSetter):
2606         (WebCore::TestObjV8Internal::reflectedURLAttrAttrSetter):
2607         (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrSetter):
2608         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetter):
2609         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetter):
2610         (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
2611         (WebCore::TestObjV8Internal::longMethodWithArgsCallback):
2612         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
2613         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
2614         (WebCore::TestObjV8Internal::methodWithOptionalStringCallback):
2615         (WebCore::TestObjV8Internal::methodWithOptionalStringIsUndefinedCallback):
2616         (WebCore::TestObjV8Internal::methodWithOptionalStringIsNullStringCallback):
2617         (WebCore::TestObjV8Internal::overloadedMethod1Callback):
2618         (WebCore::TestObjV8Internal::overloadedMethod3Callback):
2619         (WebCore::TestObjV8Internal::overloadedMethod11Callback):
2620         (WebCore::TestObjV8Internal::overloadedMethod12Callback):
2621         (WebCore::TestObjV8Internal::strictFunctionCallback):
2622         (WebCore::TestObjV8Internal::variadicStringMethodCallback):
2623         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
2624         (WebCore::V8TestOverloadedConstructors::constructor4Callback):
2625         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2626         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
2627         * bindings/v8/V8BindingMacros.h:
2628         * bindings/v8/V8StringResource.h:
2629         (V8Parameter):
2630         * bindings/v8/custom/V8ConsoleCustom.cpp:
2631         (WebCore::V8Console::profileCallback):
2632         (WebCore::V8Console::profileEndCallback):
2633         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2634         (WebCore::handlePostMessageCallback):
2635         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
2636         (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):
2637         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
2638         (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
2639         * bindings/v8/custom/V8HistoryCustom.cpp:
2640         (WebCore::V8History::pushStateCallback):
2641         (WebCore::V8History::replaceStateCallback):
2642         * bindings/v8/custom/V8IntentCustom.cpp:
2643         (WebCore::V8Intent::constructorCallbackCustom):
2644         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
2645         (WebCore::V8SQLTransaction::executeSqlCallback):
2646         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
2647         (WebCore::V8SQLTransactionSync::executeSqlCallback):
2648         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2649         (WebCore::V8WebGLRenderingContext::getExtensionCallback):
2650
2651 2012-11-21  Kentaro Hara  <haraken@chromium.org>
2652
2653         [V8] Move V8DOMWindowShell::initializeV8IfNeeded() to V8Initializer
2654         https://bugs.webkit.org/show_bug.cgi?id=102899
2655
2656         Reviewed by Adam Barth.
2657
2658         This is an incremental step to kill WorkerContextExecutionProxy.
2659         As commented by abarth in bug 97066, we move
2660         V8DOMWindowShell::initializeV8IfNeeded() to V8Initializer.
2661         This patch renames initializeV8IfNeeded() to initializeMainThreadIfNeeded()
2662         because we will add initializeWorkerIfNeeded() in a follow-up patch.
2663
2664         No tests. No change in behavior.
2665
2666         * UseV8.cmake:
2667         * WebCore.gypi:
2668         * bindings/v8/V8DOMWindowShell.cpp:
2669         (WebCore::V8DOMWindowShell::initializeIfNeeded):
2670         * bindings/v8/V8Initializer.cpp: Added.
2671         (WebCore):
2672         (WebCore::findFrame):
2673         (WebCore::reportFatalError):
2674         (WebCore::reportUncaughtException):
2675         (WebCore::reportUnsafeJavaScriptAccess):
2676         (WebCore::V8Initializer::initializeMainThreadIfNeeded):
2677         * bindings/v8/V8Initializer.h: Added.
2678         (WebCore):
2679         (V8Initializer):
2680
2681 2012-11-21  Alexander Pavlov  <apavlov@chromium.org>
2682
2683         Turn -webkit-text-emphasis into a shorthand property
2684         https://bugs.webkit.org/show_bug.cgi?id=102879
2685
2686         Reviewed by Antti Koivisto.
2687
2688         -webkit-text-emphasis value is no longer empty.
2689
2690         * css/StylePropertySet.cpp:
2691         (WebCore::StylePropertySet::getPropertyValue): Reconstruct the -webkit-text-emphasis value based on the longhands.
2692
2693 2012-11-21  Kentaro Hara  <haraken@chromium.org>
2694
2695         Unreviewed. Build fix.
2696
2697         * bindings/v8/custom/V8BlobCustom.cpp:
2698         (WebCore::V8Blob::constructorCallbackCustom):
2699
2700 2012-11-21  Kentaro Hara  <haraken@chromium.org>
2701
2702         [V8] Rename v8/custom/*Constructor.cpp to v8/custom/*Custom.cpp
2703         https://bugs.webkit.org/show_bug.cgi?id=102881
2704
2705         Reviewed by Adam Barth.
2706
2707         Writing constructorCallback()s in *Custom.cpp is a convention of
2708         custom bindings of JSC and V8. We can rename v8/custom/*Constructor.cpp
2709         to v8/custom/*Custom.cpp.
2710
2711         No tests. No change in behavior.
2712
2713         * UseV8.cmake: This file is already out of sync.
2714         * WebCore.gypi:
2715         * bindings/v8/custom/V8IntentCustom.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8IntentConstructor.cpp.
2716         (WebCore):
2717         (WebCore::V8Intent::constructorCallbackCustom):
2718         * bindings/v8/custom/V8MessageChannelCustom.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8MessageChannelConstructor.cpp.
2719         (WebCore):
2720         (WebCore::V8MessageChannel::constructorCallbackCustom):
2721         * bindings/v8/custom/V8WebKitPointCustom.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8WebKitPointConstructor.cpp.
2722         (WebCore):
2723         (WebCore::V8WebKitPoint::constructorCallbackCustom):
2724
2725 2012-11-21  Dan Carney  <dcarney@google.com>
2726
2727         [V8] Inspector does not callback IDB methods in context
2728         https://bugs.webkit.org/show_bug.cgi?id=101725
2729
2730         Reviewed by Adam Barth.
2731
2732         Inserted v8 context before calling out to IDB.
2733
2734         No new tests.
2735
2736         * inspector/InspectorIndexedDBAgent.cpp:
2737         (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
2738         (WebCore::InspectorIndexedDBAgent::requestDatabase):
2739         (WebCore::InspectorIndexedDBAgent::requestData):
2740
2741 2012-11-21  Huang Dongsung  <luxtella@company100.net>
2742
2743         REGRESSION(134048): TiledBackingStore must create tiles when the contents rect is changed.
2744         https://bugs.webkit.org/show_bug.cgi?id=102035
2745
2746         Reviewed by Kenneth Rohde Christiansen.
2747
2748         Before r134048, the visibleRect contained information of both the viewport and
2749         the contents rect. Now the visible rect is related to only the viewport. So
2750         TiledBackingStore::coverWithTilesIfNeeded() early returns even if the contents
2751         rect is changed, because changing the contents rect is independent on changing
2752         both a trajectory vector and the visible rect.
2753
2754         * platform/graphics/TiledBackingStore.cpp:
2755         (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
2756
2757 2012-11-21  Vsevolod Vlasov  <vsevik@chromium.org>
2758
2759         Web Inspector: Request preview tuning: enable json preview for text/html XHRs
2760         https://bugs.webkit.org/show_bug.cgi?id=102892
2761
2762         Reviewed by Alexander Pavlov.
2763
2764         * inspector/front-end/RequestPreviewView.js:
2765         (WebInspector.RequestPreviewView.prototype._jsonView):
2766         (WebInspector.RequestPreviewView.prototype._htmlView):
2767         (WebInspector.RequestPreviewView.prototype._createPreviewView):
2768
2769 2012-11-21  Kentaro Hara  <haraken@chromium.org>
2770
2771         [V8] Remove manually written v8::TryCatches in custom bindings
2772         https://bugs.webkit.org/show_bug.cgi?id=102883
2773
2774         Reviewed by Adam Barth.
2775
2776         We can replace them with the EXCEPTION_BLOCK() macro or its friends.
2777
2778         No new tests. This patch shouldn't change any behavior.
2779
2780         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2781         (WebCore::handlePostMessageCallback):
2782         * bindings/v8/custom/V8DocumentCustom.cpp:
2783         (WebCore::V8Document::evaluateCallback):
2784         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2785         (WebCore::V8HTMLOptionsCollection::addCallback):
2786         * bindings/v8/custom/V8HistoryCustom.cpp:
2787         (WebCore::V8History::pushStateCallback):
2788         (WebCore::V8History::replaceStateCallback):
2789
2790 2012-11-21  Kentaro Hara  <haraken@chromium.org>
2791
2792         Unreviewed, rolling out r135358.
2793         http://trac.webkit.org/changeset/135358
2794         https://bugs.webkit.org/show_bug.cgi?id=102881
2795
2796         It broke Chromium/Linux build
2797
2798         * UseV8.cmake:
2799         * WebCore.gypi:
2800         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8HTMLImageElementCustom.cpp.
2801         (WebCore):
2802         (WebCore::v8HTMLImageElementConstructorCallback):
2803         (WebCore::V8HTMLImageElementConstructor::GetTemplate):
2804         * bindings/v8/custom/V8HTMLImageElementConstructor.h: Renamed from Source/WebCore/bindings/v8/custom/V8HTMLImageElementCustom.h.
2805         (WebCore):
2806         (V8HTMLImageElementConstructor):
2807         * bindings/v8/custom/V8IntentConstructor.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8IntentCustom.cpp.
2808         (WebCore):
2809         (WebCore::V8Intent::constructorCallbackCustom):
2810         * bindings/v8/custom/V8MessageChannelConstructor.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8MessageChannelCustom.cpp.
2811         (WebCore):
2812         (WebCore::V8MessageChannel::constructorCallbackCustom):
2813         * bindings/v8/custom/V8WebKitPointConstructor.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8WebKitPointCustom.cpp.
2814         (WebCore):
2815         (WebCore::V8WebKitPoint::constructorCallbackCustom):
2816
2817 2012-11-21  KyungTae Kim  <ktf.kim@samsung.com>
2818
2819         Unused parameters on ScrollingCoordinator.cpp
2820         https://bugs.webkit.org/show_bug.cgi?id=102884
2821
2822         Reviewed by Kentaro Hara.
2823
2824         Because the 'scrollingLayerPositionAction' parameter is not used when !USE(ACCELERATED_COMPOSITING),
2825         use UNUSED_PARAM macro to fix build warning -Wunused-parameter
2826
2827         * page/scrolling/ScrollingCoordinator.cpp:
2828         (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
2829
2830 2012-11-21  Kentaro Hara  <haraken@chromium.org>
2831
2832         [V8] Replace V8Parameter::prepare() with V8Parameter::operator=()
2833         https://bugs.webkit.org/show_bug.cgi?id=102870
2834
2835         Reviewed by Adam Barth.
2836
2837         This is an incremental step for V8Parameter refactoring.
2838         By replacing V8Parameter::prepare() with V8Parameter::operator=(),
2839         we can make EXCEPTION_BLOCK() and STRING_TO_V8PARAMETER_EXCEPTION_BLOCK()
2840         equivalent (except for a return value).
2841
2842         Tests: fast/workers/worker-constructor.html
2843                storage/websql/sql-error-codes.html
2844                inspector/console/alert-toString-exception.html
2845                http/tests/websocket/tests/hybi/send-throw.html
2846
2847         * bindings/v8/V8BindingMacros.h:
2848         * bindings/v8/V8StringResource.h:
2849         (WebCore::V8Parameter::V8Parameter):
2850         (V8Parameter):
2851         (WebCore::=):
2852
2853 2012-11-21  Kentaro Hara  <haraken@chromium.org>
2854
2855         [V8] Rename v8/custom/*Constructor.cpp to v8/custom/*Custom.cpp
2856         https://bugs.webkit.org/show_bug.cgi?id=102881
2857
2858         Reviewed by Adam Barth.
2859
2860         Writing constructorCallback()s in *Custom.cpp is a convention of
2861         custom bindings of JSC and V8. We can rename v8/custom/*Constructor.cpp
2862         to v8/custom/*Custom.cpp.
2863
2864         No tests. No change in behavior.
2865
2866         * UseV8.cmake: This file is already out of sync.
2867         * WebCore.gypi:
2868         * bindings/v8/custom/V8HTMLImageElementCustom.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8HTMLImageElementConstructor.cpp.
2869         (WebCore):
2870         (WebCore::v8HTMLImageElementConstructorCallback):
2871         (WebCore::V8HTMLImageElementConstructor::GetTemplate):
2872         * bindings/v8/custom/V8HTMLImageElementCustom.h: Renamed from Source/WebCore/bindings/v8/custom/V8HTMLImageElementConstructor.h.
2873         (WebCore):
2874         (V8HTMLImageElementConstructor):
2875         * bindings/v8/custom/V8IntentCustom.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8IntentConstructor.cpp.
2876         (WebCore):
2877         (WebCore::V8Intent::constructorCallbackCustom):
2878         * bindings/v8/custom/V8MessageChannelCustom.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8MessageChannelConstructor.cpp.
2879         (WebCore):
2880         (WebCore::V8MessageChannel::constructorCallbackCustom):
2881         * bindings/v8/custom/V8WebKitPointCustom.cpp: Renamed from Source/WebCore/bindings/v8/custom/V8WebKitPointConstructor.cpp.
2882         (WebCore):
2883         (WebCore::V8WebKitPoint::constructorCallbackCustom):
2884
2885 2012-11-21  Andrey Adaikin  <aandrey@chromium.org>
2886
2887         Web Inspector: [Canvas] throttle wait icon in the ui
2888         https://bugs.webkit.org/show_bug.cgi?id=102685
2889
2890         Reviewed by Vsevolod Vlasov.
2891
2892         Do not show the wait icon for small operations during the replay to reduce flickering.
2893
2894         * inspector/front-end/CanvasProfileView.js:
2895         (WebInspector.CanvasProfileView.prototype._enableWaitIcon):
2896
2897 2012-11-21  Kunihiko Sakamoto  <ksakamoto@chromium.org>
2898
2899         Enable datalist UI for input types datetime and datetime-local
2900         https://bugs.webkit.org/show_bug.cgi?id=102882
2901
2902         Reviewed by Kent Tamura.
2903
2904         Enabling datalist UI for input types datetime and datetime-local.
2905
2906         No new tests yet. Tests will be added later in Bug 102888.
2907
2908         * platform/text/PlatformLocale.cpp:
2909         (WebCore::Locale::formatDateTime): Support datetime and datetime-local types.
2910         * rendering/RenderThemeChromiumCommon.cpp:
2911         (WebCore::RenderThemeChromiumCommon::supportsDataListUI): Add datetime and datetimelocal to the list.
2912
2913 2012-11-20  Kentaro Hara  <haraken@chromium.org>
2914
2915         [V8] Remove v8/custom/V8XMLHttpRequestConstructor.cpp
2916         https://bugs.webkit.org/show_bug.cgi?id=102876
2917
2918         Reviewed by Sam Weinig.
2919
2920         It doesn't make sense to have one custom cpp file for
2921         XXX::constructorCallback() only. We can move XXX::constructorCallback()
2922         in v8/custom/V8XXXConstructor.cpp to v8/custom/V8XXXCustom.cpp
2923         and thus remove v8/custom/V8XXXConstructor.cpp.
2924
2925         Note: Some XXX::constructorCallback()s are already written in
2926         v8/custom/V8XXXCustom.cpp. JSC already has almost all
2927         XXX::constructorCallback()s in js/JSXXXCustom.cpp.
2928
2929         No tests. No change in behavior.
2930
2931         * UseV8.cmake:
2932         * WebCore.gypi:
2933         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: Removed.
2934         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2935         (WebCore::V8XMLHttpRequest::constructorCallbackCustom):
2936         (WebCore):
2937
2938 2012-11-20  Kentaro Hara  <haraken@chromium.org>
2939
2940         Unreviewed. Rebaselined run-bindings-tests.
2941
2942         * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
2943         * bindings/scripts/test/CPP/WebDOMTestActiveDOMObject.cpp:
2944         * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
2945         * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.cpp:
2946         * bindings/scripts/test/CPP/WebDOMTestEventConstructor.cpp:
2947         * bindings/scripts/test/CPP/WebDOMTestEventTarget.cpp:
2948         * bindings/scripts/test/CPP/WebDOMTestException.cpp:
2949         * bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
2950         * bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.cpp:
2951         * bindings/scripts/test/CPP/WebDOMTestNamedConstructor.cpp:
2952         * bindings/scripts/test/CPP/WebDOMTestNode.cpp:
2953         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
2954         * bindings/scripts/test/CPP/WebDOMTestOverloadedConstructors.cpp:
2955         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
2956         * bindings/scripts/test/V8/V8TestObj.cpp:
2957         (WebCore::TestObjV8Internal::withScriptStateAttributeAttrGetter):
2958         (WebCore::TestObjV8Internal::withScriptStateAttributeAttrSetter):
2959         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
2960         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetter):
2961         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
2962         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetter):
2963         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
2964         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
2965         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
2966         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter):
2967         (WebCore::TestObjV8Internal::withScriptStateVoidCallback):
2968         (WebCore::TestObjV8Internal::withScriptStateObjCallback):
2969         (WebCore::TestObjV8Internal::withScriptStateVoidExceptionCallback):
2970         (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
2971         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateCallback):
2972         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
2973         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
2974
2975 2012-11-20  Kentaro Hara  <haraken@chromium.org>
2976
2977         [V8] Introduce constructorCallbackCustom()
2978         https://bugs.webkit.org/show_bug.cgi?id=102763
2979
2980         Reviewed by Adam Barth.
2981
2982         Currently custom constructors have the following code:
2983
2984           v8::Handle<v8::Value> V8XXX::constructorCallback(const v8::Arguments& args) {
2985             INC_STATS("DOM.XXX.Constructor");
2986             if (!args.IsConstructCall())
2987               return throwTypeError("DOM object constructor cannot be called as a function.", args.GetIsolate());
2988             if (ConstructorMode::current() == ConstructorMode::WrapExistingObject)
2989               return args.Holder();
2990
2991             /* body of the constructor */;
2992           }
2993
2994         To avoid duplicating the same logic in all custom constructors,
2995         this patch changes the generated code as follows:
2996
2997           // Generated automatically
2998           v8::Handle<v8::Value> V8XXX::constructorCallback(const v8::Arguments& args) {
2999             INC_STATS("DOM.XXX.Constructor");
3000             ${maybeObserveFeature}  // Newly supported for custom constructors.
3001             if (!args.IsConstructCall())
3002               return throwTypeError("DOM object constructor cannot be called as a function.", args.GetIsolate());
3003             if (ConstructorMode::current() == ConstructorMode::WrapExistingObject)
3004               return args.Holder();
3005
3006             V8XXX::constructorCallbackCustom(args);
3007           }
3008
3009           // Written manually
3010           v8::Handle<v8::Value> V8XXX::constructorCallback(const v8::Arguments& args) {
3011             /* body of the constructor */;
3012           }
3013
3014         No tests. No change in behavior.
3015
3016         * bindings/scripts/CodeGeneratorV8.pm:
3017         (GenerateHeader):
3018         (HasCustomConstructor):
3019         (GenerateCustomConstructorCallback):
3020         (GenerateImplementation):
3021         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3022         (WebCore::V8TestEventConstructor::constructorCallback):
3023         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3024         (WebCore::V8TestNamedConstructorConstructorCallback):
3025         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
3026         (WebCore::V8TestOverloadedConstructors::constructorCallback):
3027         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
3028         (WebCore::V8ArrayBuffer::constructorCallbackCustom):
3029         * bindings/v8/custom/V8AudioContextCustom.cpp:
3030         (WebCore::V8AudioContext::constructorCallbackCustom):
3031         * bindings/v8/custom/V8BlobCustom.cpp:
3032         (WebCore::V8Blob::constructorCallbackCustom):
3033         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
3034         (WebCore::V8DOMFormData::constructorCallbackCustom):
3035         * bindings/v8/custom/V8DataViewCustom.cpp:
3036         (WebCore::V8DataView::constructorCallbackCustom):
3037         * bindings/v8/custom/V8IntentConstructor.cpp:
3038         (WebCore::V8Intent::constructorCallbackCustom):
3039         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
3040         (WebCore::V8MessageChannel::constructorCallbackCustom):
3041         * bindings/v8/custom/V8MutationObserverCustom.cpp:
3042         (WebCore::V8MutationObserver::constructorCallbackCustom):
3043         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
3044         (WebCore::V8WebKitPoint::constructorCallbackCustom):
3045         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
3046         (WebCore::V8XMLHttpRequest::constructorCallbackCustom):
3047
3048 2012-11-20  Kunihiko Sakamoto  <ksakamoto@chromium.org>
3049
3050         REGRESSION(r135263): Fix a wrong argument for udat_close
3051         https://bugs.webkit.org/show_bug.cgi?id=102856
3052
3053         Reviewed by Kent Tamura.
3054
3055         Fixed a bug that passed wrong pointer to udat_close.
3056
3057         No new tests. No changes in behavior.
3058
3059         * platform/text/LocaleICU.cpp:
3060         (WebCore::LocaleICU::initializeDateTimeFormat): Close correct object.
3061
3062 2012-11-20  Kentaro Hara  <haraken@chromium.org>
3063
3064         Remove $outputDir and $outputHeadersDir from global variables of code generators
3065         https://bugs.webkit.org/show_bug.cgi?id=102492
3066
3067         Reviewed by Adam Barth.
3068
3069         $outputDir and $outputHeadersDir are used in WriteData() only.
3070         We don't need to use global variables for them.
3071
3072         No tests. No change in behavior.
3073
3074         * bindings/scripts/CodeGenerator.pm:
3075         (ProcessDocument):
3076         (FileNamePrefix):
3077         * bindings/scripts/CodeGeneratorCPP.pm:
3078         (new):
3079         (GenerateInterface):
3080         (WriteData):
3081         * bindings/scripts/CodeGeneratorGObject.pm:
3082         (new):
3083         (WriteData):
3084         (GenerateInterface):
3085         * bindings/scripts/CodeGeneratorJS.pm:
3086         (new):
3087         (GenerateInterface):
3088         (WriteData):
3089         * bindings/scripts/CodeGeneratorObjC.pm:
3090         (new):
3091         (GenerateInterface):
3092         (WriteData):
3093         * bindings/scripts/CodeGeneratorV8.pm:
3094         (new):
3095         (GenerateInterface):
3096         (WriteData):
3097
3098 2012-11-20  Adam Barth  <abarth@webkit.org>
3099
3100         7% regression in dromaeo_domcorequery/dom_query_getElementsByTagName__not_in_document
3101         https://bugs.webkit.org/show_bug.cgi?id=102852
3102
3103         Reviewed by Kentaro Hara.
3104
3105         In http://trac.webkit.org/changeset/135208/, we lost the early-exit
3106         check for whether isolatedWorldsExist() in this code path. This
3107         regression points to benchmarks that we can further improve by
3108         continuing to merge the general ScriptWrappable code path with the Node
3109         code path.
3110
3111         * bindings/v8/DOMDataStore.cpp:
3112         (WebCore::DOMDataStore::current):
3113
3114 2012-11-20  Kentaro Hara  <haraken@chromium.org>
3115
3116         [V8] Change a return type of V8Parameter::prepare() from bool to void
3117         https://bugs.webkit.org/show_bug.cgi?id=102805
3118
3119         Reviewed by Adam Barth.
3120
3121         This is an incremental step for V8Parameter refactoring.
3122
3123         V8Parameter::prepare() is always called just after V8Parameter's
3124         constructor. So I want to move the logic of V8Parameter::prepare()
3125         to V8Parameter's constructor. In preparation for that (i.e. because
3126         a constructor cannot return any value), this patch changes the return
3127         type of V8Parameter::prepare() from bool to void.
3128
3129         Tests: fast/workers/worker-constructor.html
3130                storage/websql/sql-error-codes.html
3131                inspector/console/alert-toString-exception.html
3132                http/tests/websocket/tests/hybi/send-throw.html
3133                etc
3134
3135         * bindings/v8/V8BindingMacros.h:
3136         * bindings/v8/V8StringResource.h:
3137         (V8Parameter):
3138         (WebCore::V8Parameter::prepareBase): This patch removes a TryCatch block.
3139         This change is safe because (1) all V8Parameter::prepareBase() in the code base
3140         is called inside STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(), and because
3141         (2) STRING_TO_V8PARAMETER_EXCEPTION_BLOCK() has a TryCatch block.
3142         (Note: In a follow-up patch I'm planning to refactor the macros.)
3143         (WebCore::::prepare): I will remove this method shortly.
3144
3145 2012-11-20  Adam Klein  <adamk@chromium.org>
3146
3147         [JSC] MutationObserver wrapper should not be collected while still observing
3148         https://bugs.webkit.org/show_bug.cgi?id=102744
3149
3150         Reviewed by Adam Barth.
3151
3152         This is the JSC side of the change landed for V8 in r135228.
3153         It ensures MutationObserver wrapper objects are kept alive as long as
3154         any observed nodes.
3155
3156         * bindings/js/JSMutationObserverCustom.cpp:
3157         (WebCore::JSMutationObserverOwner::isReachableFromOpaqueRoots): Keep MutationObserver wrappers alive
3158         if any of their observed nodes' roots is an opaque root.
3159         * dom/MutationObserver.idl: Add JSCustomIsReachable
3160
3161 2012-11-20  Joshua Bell  <jsbell@chromium.org>
3162
3163         IndexedDB: Move control of transaction completion to front end
3164         https://bugs.webkit.org/show_bug.cgi?id=100903
3165
3166         Reviewed by Tony Chang.
3167
3168         "When a transaction can no longer become active, the implementation must attempt to
3169         commit it" - that is, all requests have dispatched success/error events and no further
3170         requests have been made. Previously, this was done by the back end waiting for events
3171         from the front end, but the front end can more efficiently make the decision.
3172
3173         There should be no detectable behavior change.
3174
3175         Tests: storage/indexeddb/transaction-*.html
3176
3177         * Modules/indexeddb/IDBTransaction.cpp:
3178         (WebCore::IDBTransaction::IDBTransaction):
3179         (WebCore::IDBTransaction::setActive):
3180         (WebCore::IDBTransaction::registerRequest):
3181         * Modules/indexeddb/IDBTransaction.h:
3182         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
3183         (WebCore::IDBTransactionBackendImpl::hasPendingTasks): Added.
3184         (WebCore::IDBTransactionBackendImpl::didCompleteTaskEvents):
3185         (WebCore::IDBTransactionBackendImpl::run):
3186         (WebCore::IDBTransactionBackendImpl::taskEventTimerFired):
3187
3188 2012-11-20  Kentaro Hara  <haraken@chromium.org>
3189
3190         Unreviewed. Rebaselined run-bindings-tests results.
3191
3192         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3193         (WebCore::V8TestEventConstructor::constructorCallback):
3194         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3195         (WebCore::V8TestNamedConstructorConstructorCallback):
3196         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
3197         (WebCore::V8TestOverloadedConstructors::constructorCallback):
3198
3199 2012-11-20  Alpha Lam  <hclam@chromium.org>
3200
3201         Unreviewed. Chromium build fix.
3202
3203         Removed unnecessary mutex unlock that triggered crash on Linux debug build.
3204
3205         Chromium Linux Debug layout tests should be green:
3206         platform/chromium/virtual/deferred/fast/images/image-in-map.html
3207
3208         * platform/graphics/chromium/LazyDecodingPixelRef.cpp:
3209         (WebCore::LazyDecodingPixelRef::onLockPixels):
3210
3211 2012-11-20  Ryosuke Niwa  <rniwa@webkit.org>
3212
3213         Fix another typo. I need to checking that type() != NodeListCollectionType,
3214         not that type() >= FirstNodeCollectionType.
3215
3216         * dom/DynamicNodeList.cpp:
3217         (WebCore::DynamicNodeListCacheBase::invalidateIdNameCacheMaps):
3218         * dom/DynamicNodeList.h:
3219         (WebCore::DynamicNodeListCacheBase::invalidateCache):
3220
3221 2012-11-20  Michael Pruett  <michael@68k.org>
3222
3223         [V8] Pass ScriptState::current() to functions marked with CallWith=ScriptState
3224         https://bugs.webkit.org/show_bug.cgi?id=102739
3225
3226         Reviewed by Kentaro Hara.
3227
3228         Previously EmptyScriptState rather than ScriptState::current()
3229         was passed to functions marked with [CallWith=ScriptState].
3230         Since the EmptyScriptState has a null v8::Context, any functions
3231         which depended upon a valid v8::Context would fail.
3232
3233         No new tests. Covered by existing tests.
3234
3235         * bindings/scripts/CodeGeneratorV8.pm:
3236         (GenerateNormalAttrGetter):
3237         (GenerateNormalAttrSetter):
3238         (GenerateCallWith):
3239         (GenerateFunctionCallString):
3240         * bindings/v8/ScriptState.h:
3241         (WebCore::ScriptState::clearException): Added.
3242
3243 2012-11-20  Brent Fulgham  <bfulgham@webkit.org>
3244
3245         [Qt] Build fix after r135217.
3246         https://bugs.webkit.org/show_bug.cgi?id=102787
3247
3248         * platform/win/WindowsExtras.h: Switch to direct include of
3249           <ObjBase.h>, as is done in other <shlwapi.h> includes.
3250
3251 2012-11-20  Ryosuke Niwa  <rniwa@webkit.org>
3252
3253         Fix typos. Apparently XCode failed to text-replace earlier when it was busy making a snapshot :(
3254
3255         * dom/DynamicNodeList.cpp:
3256         (WebCore::DynamicNodeListCacheBase::invalidateIdNameCacheMaps):
3257         * dom/DynamicNodeList.h:
3258         (WebCore::DynamicNodeListCacheBase::invalidateCache):
3259         (DynamicNodeListCacheBase):
3260
3261 2012-11-20  Kentaro Hara  <haraken@chromium.org>
3262
3263         [V8] Introduce GenerateConstructorHeader() to CodeGeneratorV8.pm
3264         https://bugs.webkit.org/show_bug.cgi?id=102806
3265
3266         Reviewed by Adam Barth.
3267
3268         This is an incremental step for introducing constructorCallbackCustom().
3269         (See bug 102763.) This patch adds GenerateConstructorHeader()
3270         that generates a common code for constructors.
3271
3272         No tests. No change in behavior.
3273
3274         * bindings/scripts/CodeGeneratorV8.pm:
3275         (GenerateOverloadedConstructorCallback):
3276         (GenerateSingleConstructorCallback):
3277         (GenerateEventConstructorCallback):
3278         (GenerateNamedConstructorCallback):
3279         (GenerateConstructorHeader):
3280
3281 2012-11-20  Ryosuke Niwa  <rniwa@webkit.org>
3282
3283         HTMLCollection's cache should not be invalidated when id or name attributes are changed
3284         https://bugs.webkit.org/show_bug.cgi?id=102843
3285
3286         Reviewed by Eric Seidel.
3287
3288         When an id or name attribute changes, only invaliate id and name cache maps when the collection
3289         doesn't depend on id and name attributes (e.g. document.images).
3290
3291         Unfortunately, I could not create a reliable test for this performance problem.
3292
3293         * dom/DynamicNodeList.cpp:
3294         (WebCore::DynamicNodeListCacheBase::invalidateIdNameCacheMaps):
3295         * dom/DynamicNodeList.h:
3296         (WebCore::DynamicNodeListCacheBase::invalidateCache):
3297         (DynamicNodeListCacheBase):
3298         * dom/ElementRareData.h:
3299         (WebCore::ElementRareData::clearHTMLCollectionCaches):
3300         * html/HTMLCollection.cpp:
3301         (WebCore::invalidationTypeExcludingIdAndNameAttributes):
3302
3303 2012-11-20  Adam Klein  <adamk@chromium.org>
3304
3305         [v8] Avoid unnecessary call to ToObject() in Callback constructors
3306         https://bugs.webkit.org/show_bug.cgi?id=102831
3307
3308         Reviewed by Adam Barth.
3309
3310         The code already asserted that the argument was an object, so calling
3311         ToObject() is unnecessary: a simple Cast() suffices.
3312
3313         * bindings/scripts/CodeGeneratorV8.pm:
3314         (GenerateCallbackHeader):
3315         * bindings/scripts/test/V8/V8TestCallback.h:
3316         (WebCore::V8TestCallback::create):
3317
3318 2012-11-20  Brent Fulgham  <bfulgham@webkit.org>
3319
3320         [WinCairo] Build fix after r135316
3321
3322         * platform/network/curl/AuthenticationChallenge.h: Update stub
3323           implementations to match Apple Windows port.
3324         (WebCore::AuthenticationChallenge::AuthenticationChallenge): Add
3325           missing identifier argument.
3326         (WebCore::AuthenticationChallenge::setAuthenticationClient): Supply
3327           missing set method.
3328
3329 2012-11-20  Tony Chang  <tony@chromium.org>
3330
3331         When calling DocumentStyleSheetCollection::addUserSheet, pass in a user sheet
3332         https://bugs.webkit.org/show_bug.cgi?id=102835
3333
3334         Reviewed by Ojan Vafai.
3335
3336         After r135082, Chromium browser_tests were triggering the ASSERT in
3337         StyleResolver::collectRulesFromUserStyleSheets. Add an ASSERT that will
3338         trigger earlier and make it clear in the Chromium code that we're always
3339         inserting user level styles.
3340
3341         No new tests, no behavior change except no longer triggering the StyleResolver ASSERT
3342         in Chromium browser_tests.
3343
3344         * dom/DocumentStyleSheetCollection.cpp:
3345         (WebCore::DocumentStyleSheetCollection::addUserSheet):
3346
3347 2012-11-20  Bear Travis  <betravis@adobe.com>
3348
3349         [CSS Exclusions] Support outside-shape value on shape-inside
3350         https://bugs.webkit.org/show_bug.cgi?id=101108
3351
3352         Reviewed by Dirk Schulze.
3353
3354         Shape-inside can potentially be: 'auto' | 'outside-shape' | <shape> | <url>.
3355         Webkit currently supports the value 'auto' (null) and <shape> (a BasicShape*).
3356         This patch adds support for the value 'outside-shape.' It adds the ExclusionShapeValue
3357         class, which may be any of the three values: 'auto', 'outside-shape', or <shape>.
3358         Bug 102738 tracks adding <url> support.
3359
3360         Modifying existing tests:
3361         LayoutTests/fast/exclusions/parsing-wrap-shape-inside.html
3362         LayoutTests/fast/exclusions/parsing-wrap-shape-outside.html
3363
3364         * GNUmakefile.list.am: Adding ExclusionShapeValue.h to the build files.
3365         * Target.pri: Ditto.
3366         * WebCore.gypi: Ditto.
3367         * WebCore.vcproj/WebCore.vcproj: Ditto.
3368         * WebCore.xcodeproj/project.pbxproj: Ditto.
3369         (WebCore):
3370         * css/CSSComputedStyleDeclaration.cpp:
3371         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Modifying code to use
3372         ExclusionShapeValue* rather than the previous BasicShape* values.
3373         * css/CSSParser.cpp:
3374         (WebCore::CSSParser::parseValue): Handle the outside-shape value.
3375         * css/CSSValueKeywords.in: Adding outside-shape value.
3376         * css/StyleBuilder.cpp:
3377         (WebCore):
3378         (WebCore::ApplyPropertyExclusionShape::setValue): Modify code to use
3379         ExclusionShapeValue* rather than BasicShape*.
3380         (WebCore::ApplyPropertyExclusionShape::applyValue): Ditto.
3381         (WebCore::ApplyPropertyExclusionShape::createHandler): Ditto.
3382         * page/animation/CSSPropertyAnimation.cpp: Ditto.
3383         (WebCore::blendFunc): Ditto.
3384         (WebCore::PropertyWrapperExclusionShape::PropertyWrapperExclusionShape): Ditto.
3385         (WebCore::CSSPropertyAnimation::ensurePropertyMap): Ditto.
3386         * rendering/ExclusionShapeInsideInfo.cpp:
3387         (WebCore::ExclusionShapeInsideInfo::isExclusionShapeInsideInfoEnabledForRenderBlock):
3388         Ditto.
3389         (WebCore::ExclusionShapeInsideInfo::computeShapeSize): Ditto.
3390         * rendering/RenderBlock.cpp:
3391         (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange): Ditto.
3392         * rendering/RenderBlock.h:
3393         (RenderBlock):
3394         * rendering/style/ExclusionShapeValue.h: Added.
3395         (WebCore):
3396         (ExclusionShapeValue): New type to represent the possible values of shape-inside
3397         and shape-outside. Only shape-inside can have a value of 'outside-shape.'
3398         (WebCore::ExclusionShapeValue::~ExclusionShapeValue):
3399         (WebCore::ExclusionShapeValue::type): Returns the value type.
3400         (WebCore::ExclusionShapeValue::shape): Returns <shape> value's BasicShape*.
3401         (WebCore::ExclusionShapeValue::operator==):
3402         (WebCore::ExclusionShapeInfo::createShapeValue):
3403         (WebCore::ExclusionShapeInfo::createOutsideValue):
3404         (WebCore::ExclusionShapeValue::ExclusionShapeValue):
3405         * rendering/style/RenderStyle.h:
3406         * rendering/style/StyleRareNonInheritedData.h:
3407         (StyleRareNonInheritedData):
3408
3409 2012-11-20  Alpha Lam  <hclam@chromium.org>
3410
3411         [chromium] Make lazy image decoding thread-safe
3412         https://bugs.webkit.org/show_bug.cgi?id=102721
3413
3414         Reviewed by Stephen White.
3415
3416         Added mutex to LazyDecodingPixelRef such that there is no parallel
3417         onLockPixels() running on multiple threads.
3418
3419         Added mutex to ImageFrameGenerator to protect the use of raw image
3420         data.
3421
3422         The result is that we can decode on threads other than the main
3423         thread while data is being supplied on the main thread.
3424
3425         New unit test:
3426         DeferredImageDecoderTest.decodeOnOtherThread
3427
3428         * platform/graphics/chromium/ImageFrameGenerator.cpp:
3429         (WebCore::ImageFrameGenerator::setData):
3430         (WebCore::ImageFrameGenerator::decodeAndScale):
3431         * platform/graphics/chromium/ImageFrameGenerator.h:
3432         (ImageFrameGenerator):
3433         * platform/graphics/chromium/LazyDecodingPixelRef.cpp:
3434         (WebCore::LazyDecodingPixelRef::onLockPixels):
3435         (WebCore::LazyDecodingPixelRef::onUnlockPixels):
3436         * platform/graphics/chromium/LazyDecodingPixelRef.h:
3437         (LazyDecodingPixelRef):
3438
3439 2012-11-20  Brent Fulgham  <bfulgham@webkit.org>
3440
3441         [Qt] Build fix after r135217.
3442         https://bugs.webkit.org/show_bug.cgi?id=102787
3443
3444         * platform/win/WindowsExtras.h: Add #undef of NOSHLWAPI to
3445         allow include of <ObjBase.h> needed by Qt build.
3446
3447 2012-11-20  Sheriff Bot  <webkit.review.bot@gmail.com>
3448
3449         Unreviewed, rolling out r135295.
3450         http://trac.webkit.org/changeset/135295
3451         https://bugs.webkit.org/show_bug.cgi?id=102834
3452
3453         This patch causes assertion to some layout tests on chromium
3454         (Requested by jianli on #webkit).
3455
3456         * CMakeLists.txt:
3457         * GNUmakefile.list.am:
3458         * Target.pri:
3459         * WebCore.exp.in:
3460         * WebCore.gypi:
3461         * WebCore.vcproj/WebCore.vcproj:
3462         * WebCore.xcodeproj/project.pbxproj:
3463         * loader/FrameLoadRequest.cpp: Removed.
3464         * loader/FrameLoadRequest.h:
3465         (WebCore::FrameLoadRequest::FrameLoadRequest):
3466         (FrameLoadRequest):
3467         * loader/FrameLoader.cpp:
3468         (WebCore::FrameLoader::load):
3469         * loader/FrameLoader.h:
3470         (FrameLoader):
3471         * page/DragController.cpp:
3472         (WebCore::DragController::performDrag):
3473         * plugins/PluginView.cpp:
3474         (WebCore::PluginView::performRequest):
3475
3476 2012-11-20  Sheriff Bot  <webkit.review.bot@gmail.com>
3477
3478         Unreviewed, rolling out r135293.
3479         http://trac.webkit.org/changeset/135293
3480         https://bugs.webkit.org/show_bug.cgi?id=102832
3481
3482         This patch causes crash to some layout tests on chromium
3483         (Requested by jianli on #webkit).
3484
3485         * bindings/v8/DOMDataStore.cpp:
3486         (WebCore::DOMDataStore::current):
3487         * bindings/v8/DOMWrapperWorld.cpp:
3488         * bindings/v8/DOMWrapperWorld.h:
3489         * bindings/v8/ScriptController.cpp:
3490         (WebCore::ScriptController::existingWindowShell):
3491         (WebCore::ScriptController::windowShell):
3492         (WebCore::ScriptController::evaluateInIsolatedWorld):
3493         (WebCore::ScriptController::currentWorldContext):
3494         (WebCore::ScriptController::collectIsolatedContexts):
3495         * bindings/v8/ScriptController.h:
3496         (ScriptController):
3497         * bindings/v8/V8Binding.h:
3498         (WebCore::worldForEnteredContextIfIsolated):
3499         * bindings/v8/V8DOMWindowShell.cpp:
3500         (WebCore::V8DOMWindowShell::destroyIsolatedShell):
3501         (WebCore):
3502         (WebCore::isolatedContextWeakCallback):
3503         (WebCore::V8DOMWindowShell::disposeContext):
3504         (WebCore::V8DOMWindowShell::initializeIfNeeded):
3505         * bindings/v8/V8DOMWindowShell.h:
3506         (WebCore::V8DOMWindowShell::isolated):
3507         (V8DOMWindowShell):
3508         * bindings/v8/V8PerContextData.h:
3509         * bindings/v8/WorldContextHandle.cpp:
3510         (WebCore::WorldContextHandle::WorldContextHandle):
3511
3512 2012-11-20  David Grogan  <dgrogan@chromium.org>
3513
3514         IndexedDB: Remove legacy enum-based constants from IDL
3515         https://bugs.webkit.org/show_bug.cgi?id=85315
3516
3517         Reviewed by Adam Barth.
3518
3519         These were only present in an earlier working draft of the spec and have
3520         been removed for 8 months. See
3521         http://lists.w3.org/Archives/Public/public-webapps/2012JanMar/0957.html
3522
3523         Tests - legacy-constants.html
3524
3525         * Modules/indexeddb/IDBCursor.cpp:
3526         (WebCore::IDBCursor::stringToDirection):
3527         * Modules/indexeddb/IDBCursor.idl:
3528         * Modules/indexeddb/IDBTransaction.cpp:
3529         (WebCore::IDBTransaction::stringToMode):
3530         * Modules/indexeddb/IDBTransaction.idl:
3531
3532 2012-11-20  Elliott Sprehn  <esprehn@chromium.org>
3533
3534         Store MutationObserver callback in a hidden property for V8
3535         https://bugs.webkit.org/show_bug.cgi?id=102555
3536
3537         Reviewed by Adam Barth.
3538
3539         To prevent circular reference leaks we should store the MutationObserver
3540         callback in a hidden property on the wrapper of the observer.
3541
3542         This is done by extending the code generator to support a new owner
3543         argument to ::create() that lets you set the owner of the callback where
3544         the hidden property should be stored.
3545
3546         Test: ManualTests/leak-cycle-observer-wrapper.html
3547
3548         * bindings/scripts/CodeGeneratorV8.pm:
3549         (GenerateCallbackHeader):
3550         (GenerateCallbackImplementation):
3551         * bindings/scripts/test/V8/V8TestCallback.cpp: rebaselined.
3552         * bindings/scripts/test/V8/V8TestCallback.h: rebaselined.
3553         * bindings/v8/V8HiddenPropertyName.h:
3554         * bindings/v8/custom/V8MutationObserverCustom.cpp:
3555         (WebCore::V8MutationObserver::constructorCallback):
3556
3557 2012-11-20  Abhishek Arya  <inferno@chromium.org>
3558
3559         Crash in FrameLoader::stopLoading.
3560         https://bugs.webkit.org/show_bug.cgi?id=99504
3561
3562         Reviewed by Nate Chapin.
3563
3564         Frame can be blown away in unload event handler. Need
3565         to protect it with a RefPtr.
3566
3567         Test: fast/frames/frame-unload-crash2.html
3568
3569         * loader/FrameLoader.cpp:
3570         (WebCore::FrameLoader::commitProvisionalLoad):
3571
3572 2012-11-20  Dirk Schulze  <krit@webkit.org>
3573
3574         Remove unnecessary FilterOperations header from RenderBoxModelObject
3575         https://bugs.webkit.org/show_bug.cgi?id=102821
3576
3577         Reviewed by Ojan Vafai.
3578
3579         No new tests, simple refactoring.
3580
3581         * rendering/RenderBoxModelObject.cpp:
3582
3583 2012-11-20  Tom Sepez  <tsepez@chromium.org>
3584
3585         XSSAuditor::decodedSnippetForJavaScript stopping when comma encountered.
3586         https://bugs.webkit.org/show_bug.cgi?id=102587
3587
3588         Reviewed by Adam Barth.
3589
3590         Rather than returning an empty fragment, continue processing the body
3591         of a script tag when the decoded fragment reduces to nothing.
3592
3593         Test: http/tests/security/xssAuditor/script-tag-with-actual-comma.html
3594
3595         * html/parser/XSSAuditor.cpp:
3596         (WebCore::XSSAuditor::decodedSnippetForJavaScript):
3597
3598 2012-11-20  James Simonsen  <simonjam@chromium.org>
3599
3600         Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
3601         https://bugs.webkit.org/show_bug.cgi?id=102151
3602
3603         Reviewed by Adam Barth.
3604
3605         There's a FIXME that we have too many FrameLoader::load*() functions. This patch consolidates 3 into 1.
3606         There are still a few more load functions that will be consolidated later. Using FrameLoadRequest as
3607         the interface into FrameLoader will also provide a place to pass in the initiator. Finally, this matches
3608         the refactoring done with CachedResourceRequest and CachedResourceLoader.
3609
3610         No new tests. No change in functionality.
3611
3612         * WebCore.exp.in:
3613         * loader/FrameLoadRequest.h:
3614         (WebCore::FrameLoadRequest::FrameLoadRequest):
3615         (WebCore::FrameLoadRequest::setLockHistory): These are former arguments to load().
3616         (WebCore::FrameLoadRequest::lockHistory): Ditto.
3617         (FrameLoadRequest):
3618         (WebCore::FrameLoadRequest::setShouldCheckNewWindowPolicy): Ditto.
3619         (WebCore::FrameLoadRequest::shouldCheckNewWindowPolicy): Ditto.
3620         (WebCore::FrameLoadRequest::substituteData): Ditto.
3621         (WebCore::FrameLoadRequest::setSubstituteData): Ditto.
3622         (WebCore::FrameLoadRequest::hasSubstituteData): Ditto.
3623         * loader/FrameLoader.cpp:
3624         (WebCore::FrameLoader::load): No change in behavior, just merged it all into one function.
3625         * loader/FrameLoader.h:
3626         (FrameLoader):
3627         * page/DragController.cpp:
3628         (WebCore::DragController::performDrag):
3629
3630 2012-11-20  Dan Carney  <dcarney@google.com>
3631
3632         Remove V8DOMWindowShell::getEntered
3633         https://bugs.webkit.org/show_bug.cgi?id=96637
3634
3635         Reviewed by Adam Barth.
3636
3637         V8DOMWindowShell::getEntered was refactored so that the window shell
3638         no longer has to be kept alive by a v8 context. Instead, only
3639         the DOMWrapperWorld will be kept alive.
3640
3641         No new tests. No change in functionality.
3642
3643         * bindings/v8/DOMDataStore.cpp:
3644         (WebCore::DOMDataStore::current):
3645         * bindings/v8/DOMWrapperWorld.cpp:
3646         (WebCore::isolatedWorldWeakCallback):
3647         (WebCore):
3648         (WebCore::DOMWrapperWorld::makeContextWeak):
3649         (WebCore::DOMWrapperWorld::setIsolatedWorldField):
3650         * bindings/v8/DOMWrapperWorld.h:
3651         (DOMWrapperWorld):
3652         (WebCore::DOMWrapperWorld::isolated):
3653         * bindings/v8/ScriptController.cpp:
3654         (WebCore::ScriptController::existingWindowShell):
3655         (WebCore::ScriptController::windowShell):
3656         (WebCore::ScriptController::evaluateInIsolatedWorld):
3657         (WebCore::ScriptController::currentWorldContext):
3658         (WebCore::ScriptController::collectIsolatedContexts):
3659         * bindings/v8/ScriptController.h:
3660         (ScriptController):
3661         * bindings/v8/V8Binding.h:
3662         (WebCore::worldForEnteredContextIfIsolated):
3663         * bindings/v8/V8DOMWindowShell.cpp:
3664         (WebCore::V8DOMWindowShell::destroyIsolatedShell):
3665         (WebCore::V8DOMWindowShell::disposeContext):
3666         (WebCore::V8DOMWindowShell::initializeIfNeeded):
3667         * bindings/v8/V8DOMWindowShell.h:
3668         (V8DOMWindowShell):
3669         * bindings/v8/V8PerContextData.h:
3670         * bindings/v8/WorldContextHandle.cpp:
3671         (WebCore::WorldContextHandle::WorldContextHandle):
3672
3673 2012-11-20  Mike West  <mkwst@chromium.org>
3674
3675         Remove '#include "ScriptCallStackFactory.h"' include when unnecessary.
3676         https://bugs.webkit.org/show_bug.cgi?id=102812
3677
3678         Reviewed by Jochen Eisinger.
3679
3680         "ScriptCallStackFactory.h" is included in a few files where it doesn't
3681         seem to be required. Since I'm in the process of centralizing stack
3682         trace generation anyway, I'll just clean this up as a drive-by.
3683
3684         * bindings/js/JSConsoleCustom.cpp:
3685         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3686         * bindings/v8/custom/V8WorkerContextCustom.cpp:
3687         * loader/FrameLoader.cpp:
3688             Removed "ScriptCallStackFactory.h".
3689         * bindings/js/ScheduledAction.cpp:
3690             This also included (but didn't use) "ScriptCallStack.h". I've
3691             removed it as well.
3692
3693 2012-11-20  Elliott Sprehn  <esprehn@chromium.org>
3694
3695         Merge checks for creating renderers into shouldCreateRenderer
3696         https://bugs.webkit.org/show_bug.cgi?id=102768
3697
3698         Reviewed by Ojan Vafai.
3699
3700         Merge the checks for if renderers should be created into shouldCreateRenderer
3701         so simplify the code and ensure correctness if doing
3702         NodeRenderingContext(node).shouldCreateRenderer() in other places in webkit.
3703
3704         No new tests, just refactoring.
3705
3706         * dom/NodeRenderingContext.cpp:
3707         (WebCore::NodeRenderingContext::shouldCreateRenderer):
3708         (WebCore::NodeRendererFactory::createRendererIfNeeded):
3709
3710 2012-11-19  Pavel Feldman  <pfeldman@chromium.org>
3711
3712         Web Inspector: simplify? damaged region computation in the editor
3713         https://bugs.webkit.org/show_bug.cgi?id=102688
3714
3715         Reviewed by Vsevolod Vlasov.
3716
3717         This change simplifies the damaged region computation. Drive-by make _getSelection work properly.
3718
3719         * inspector/front-end/DefaultTextEditor.js:
3720         (WebInspector.DefaultTextEditor):
3721         (WebInspector.DefaultTextEditor.prototype._handleCut):
3722         (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleLineNumber.compareLineRowOffsetTops):
3723         (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleLineNumber):
3724         (WebInspector.TextEditorMainPanel.prototype.handleEnterKey.get var):
3725         (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
3726         (WebInspector.TextEditorMainPanel.prototype._paintLineChunks):
3727         (WebInspector.TextEditorMainPanel.prototype._getSelection):
3728         (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
3729         (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
3730         (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
3731         (WebInspector.TextEditorMainPanel.prototype._handleMutations):
3732         (WebInspector.TextEditorMainPanel.prototype._collectDirtyLines):
3733         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
3734         (WebInspector.TextEditorMainPanel.prototype._guessEditRangeBasedOnSelection):
3735         (WebInspector.TextEditorMainPanel.prototype._assertDOMMatchesTextModel):
3736         (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
3737         (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDOM):
3738         (WebInspector.TextEditorMainChunk):
3739         (WebInspector.TextEditorMainChunk.prototype.addDecoration):
3740         (WebInspector.TextEditorMainChunk.prototype.get endLine):
3741         (WebInspector.TextEditorMainChunk.prototype.lineRowContainingLine):
3742         (WebInspector.TextEditorMainChunk.prototype.expandedLineRow):
3743
3744 2012-11-19  Erik Arvidsson  <arv@chromium.org>
3745
3746         Remove historical enums from ExceptionCode.h
3747         https://bugs.webkit.org/show_bug.cgi?id=102095
3748
3749         Reviewed by Ojan Vafai.
3750
3751         Remove unused enums from ExceptionCode.
3752
3753         No new tests. No tests affected.
3754
3755         * Modules/intents/NavigatorIntents.cpp:
3756         (WebCore::NavigatorIntents::webkitStartActivity): The error type for this is unspecified.
3757         * dom/DOMCoreException.cpp:
3758         * dom/ExceptionCode.h:
3759
3760 2012-11-20  Keishi Hattori  <keishi@webkit.org>
3761
3762         Week picker width is too small
3763         https://bugs.webkit.org/show_bug.cgi?id=102766
3764
3765         Reviewed by Kent Tamura.
3766
3767         The width of week picker was too small because we were forgetting about
3768         the week number column when calculating the desired width.
3769
3770         No new tests. Covered by week-picker-appearance*.html.
3771
3772         * Resources/pagepopups/calendarPicker.css:
3773         (.week-mode .week-column): Needs to be table-cell.
3774         * Resources/pagepopups/calendarPicker.js:
3775         (CalendarPicker.prototype.fixWindowSize):
3776
3777 2012-11-20  Xabier Rodriguez Calvar  <calvaris@igalia.com>
3778
3779         [GTK] no volume slider in HTML5 media element controls
3780         https://bugs.webkit.org/show_bug.cgi?id=97192
3781
3782         Reviewed by Philippe Normand.
3783
3784         r115829 was causing this regression so it was partially
3785         reverted. The revert causes some small regressions, in the tests
3786         but it is better to have the volume slider shown.
3787
3788         * css/mediaControlsGtk.css:
3789         (audio::-webkit-media-controls-panel)
3790         (video::-webkit-media-controls-panel): Partially reverted
3791         r115829.
3792
3793 2012-11-19  Antti Koivisto  <antti@apple.com>
3794
3795         Collect user style sheets in DocumentStyleSheetCollection
3796         https://bugs.webkit.org/show_bug.cgi?id=102683
3797
3798         Reviewed by Andreas Kling.
3799
3800         Move the user stylesheet collection logic from StyleResolver to DocumentStyleSheetCollection.
3801         
3802         * css/StyleResolver.cpp:
3803         (WebCore::StyleResolver::StyleResolver):
3804         (WebCore::StyleResolver::collectRulesFromUserStyleSheets):
3805         (WebCore::collectCSSOMWrappers):
3806         * css/StyleResolver.h:
3807         (StyleResolver):
3808         * dom/DocumentStyleSheetCollection.cpp:
3809         (WebCore::DocumentStyleSheetCollection::~DocumentStyleSheetCollection):
3810         (WebCore::DocumentStyleSheetCollection::pageUserStyleSheet):
3811         (WebCore::DocumentStyleSheetCollection::clearPageUserStyleSheet):
3812         (WebCore::DocumentStyleSheetCollection::updatePageUserStyleSheet):
3813         (WebCore::DocumentStyleSheetCollection::analyzeStyleSheetChange):
3814         (WebCore::collectActiveStyleSheetsFromSeamlessParents):
3815         (WebCore::DocumentStyleSheetCollection::updateStyleResolver):
3816         
3817             Factor the StyleResolver updating code to function.
3818
3819         (WebCore):
3820         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
3821         
3822             Collect the user style sheets. Some renaming and other minor refactoring.
3823
3824         (WebCore::DocumentStyleSheetCollection::reportMemoryUsage):
3825         * dom/DocumentStyleSheetCollection.h:
3826         (WebCore::DocumentStyleSheetCollection::activeUserStyleSheets):
3827         
3828             Add activeUserStyleSheets vector that contains all user stylesheets from different sources,
3829             similar to activeAuthorStyleSheets.
3830
3831         (DocumentStyleSheetCollection):
3832         (WebCore::DocumentStyleSheetCollection::documentUserStyleSheets):
3833
3834 2012-11-20  Elliott Sprehn  <esprehn@chromium.org>
3835
3836         Remove unneeded optimization in Element::isInTopLayer
3837         https://bugs.webkit.org/show_bug.cgi?id=102772
3838
3839         Reviewed by Andreas Kling.
3840
3841         There's no reason to worry about calling elementRareData() multiple
3842         times in this non performance sensitive code path as it's only used
3843         in HTMLDialogElement's showModal and close methods.
3844
3845         No new tests, just simplification.
3846
3847         * dom/Element.cpp:
3848         (WebCore::Element::setIsInTopLayer):
3849
3850 2012-11-20  Elliott Sprehn  <esprehn@chromium.org>
3851
3852         Simplify Element::isSpellCheckingEnabled
3853         https://bugs.webkit.org/show_bug.cgi?id=102779
3854
3855         Reviewed by Andreas Kling.
3856
3857         isSpellCheckingEnabled contains logic that duplicates parentOrHostElement
3858         and can be simplified by just calling that.
3859
3860         No new tests, just simplification.
3861
3862         * dom/Element.cpp:
3863         (WebCore::Element::isSpellCheckingEnabled):
3864
3865 2012-11-20  Kihong Kwon  <kihong.kwon@samsung.com>
3866
3867         Apply DeviceController as parent class of DeviceMotionController.
3868         https://bugs.webkit.org/show_bug.cgi?id=102578
3869
3870         Reviewed by Hajime Morita.
3871
3872         DeviceController needs to be applied as parent class of DeviceMotionController
3873         because DeviceController which is extracted as parent class of
3874         DeviceMotionController and DeviceOrientationController is already added.
3875         Therefore duplicated implementation can be removed.
3876
3877         Covered by existing tests.
3878
3879         * dom/DeviceMotionClient.h:
3880         * dom/DeviceMotionController.cpp:
3881         (WebCore::DeviceMotionController::DeviceMotionController):
3882         (WebCore::DeviceMotionController::didChangeDeviceMotion):
3883         (WebCore::DeviceMotionController::deviceMotionClient):
3884         (WebCore::DeviceMotionController::hasLastData):
3885         (WebCore::DeviceMotionController::getLastEvent):
3886         (WebCore::DeviceMotionController::from):
3887         (WebCore):
3888         * dom/DeviceMotionController.h:
3889         (WebCore):
3890         (WebCore::DeviceMotionController::~DeviceMotionController):
3891         (DeviceMotionController):
3892         * dom/Document.cpp:
3893         Remove all implementations which are related DeviceOrientationEvnet and DeviceMotionEvent.
3894         Because DeviceController checks suspend and stop status of active dom object before dispatchEvent.
3895         (WebCore::Document::suspendActiveDOMObjects):
3896         (WebCore::Document::resumeActiveDOMObjects):
3897         * loader/EmptyClients.h:
3898         * page/DOMWindow.cpp:
3899         (WebCore::DOMWindow::addEventListener):
3900         (WebCore::DOMWindow::removeEventListener):
3901         (WebCore::DOMWindow::removeAllEventListeners):
3902
3903 2012-11-20  Kentaro Hara  <haraken@chromium.org>
3904
3905         [V8] Remove V8ParameterBase
3906         https://bugs.webkit.org/show_bug.cgi?id=102774
3907
3908         Reviewed by Adam Barth.
3909
3910         V8ParameterBase is a redundant indirection.
3911         We can flatten methods of V8ParameterBase to V8Parameter.
3912
3913         No tests. No change in behavior.
3914
3915         * bindings/v8/V8StringResource.h:
3916         (WebCore::V8Parameter::V8Parameter):
3917         (V8Parameter):
3918         (WebCore::V8Parameter::toString):
3919         (WebCore::::prepare):
3920
3921 2012-11-20  Kunihiko Sakamoto  <ksakamoto@chromium.org>
3922
3923         Use localized date-time format in datetime input
3924         https://bugs.webkit.org/show_bug.cgi?id=102769
3925
3926         Reviewed by Kent Tamura.
3927
3928         Move the implementation of Locale::dateTimeFormatWithSeconds and Locale::dateTimeFormatWithoutSeconds
3929         to its subclasses and use platform-specific methods to get date-time pattern.
3930         Because Windows does not provide an API to get date-time pattern. We use fixed "{date} {time}"
3931         pattern for Windows.
3932
3933         Test: fast/forms/datetime/datetime-appearance-l10n.html
3934
3935         * platform/text/LocaleICU.cpp:
3936         (WebCore::LocaleICU::initializeDateTimeFormat): Retrieve datetime formats too.
3937         (WebCore::LocaleICU::dateTimeFormatWithSeconds): Added.
3938         (WebCore):
3939         (WebCore::LocaleICU::dateTimeFormatWithoutSeconds): Added.
3940         * platform/text/LocaleICU.h:
3941         (LocaleICU): Add m_dateTimeFormatWithSeconds and m_dateTimeFormatWithoutSeconds.
3942         * platform/text/LocaleNone.cpp:
3943         (LocaleNone):
3944         (WebCore::LocaleNone::dateTimeFormatWithSeconds): Added. Always returns "dd/MM/yyyyy HH:mm:ss".
3945         (WebCore):
3946         (WebCore::LocaleNone::dateTimeFormatWithoutSeconds): Added. Always returns "dd/MM/yyyyy HH:mm".
3947         * platform/text/PlatformLocale.cpp:
3948         (WebCore): Remove dateTimeFormatWithSeconds() and dateTimeFormatWithoutSeconds() as these are now pure virtual.
3949         * platform/text/PlatformLocale.h:
3950         (Locale): Make dateTimeFormatWithSeconds() and dateTimeFormatWithoutSeconds() pure virtual.
3951         * platform/text/mac/LocaleMac.h:
3952         (LocaleMac): Add m_dateTimeFormatWithSeconds and m_dateTimeFormatWithoutSeconds.
3953         * platform/text/mac/LocaleMac.mm:
3954         (WebCore::LocaleMac::dateTimeFormatterWithSeconds): Added.
3955         (WebCore):
3956         (WebCore::LocaleMac::dateTimeFormatterWithoutSeconds): Added.
3957         (WebCore::LocaleMac::dateTimeFormatWithSeconds): Added.
3958         (WebCore::LocaleMac::dateTimeFormatWithoutSeconds): Added.
3959         * platform/text/win/LocaleWin.cpp:
3960         (WebCore::LocaleWin::dateTimeFormatWithSeconds): Copied from original Locale::dateTimeFormatWithSeconds().
3961         (WebCore):
3962         (WebCore::LocaleWin::dateTimeFormatWithoutSeconds): Copied from original Locale::dateTimeFormatWithoutSeconds().
3963         * platform/text/win/LocaleWin.h:
3964         (LocaleWin): Add m_dateTimeFormatWithSeconds and m_dateTimeFormatWithoutSeconds.
3965
3966 2012-11-20  Sheriff Bot  <webkit.review.bot@gmail.com>
3967
3968         Unreviewed, rolling out r135257.
3969         http://trac.webkit.org/changeset/135257
3970         https://bugs.webkit.org/show_bug.cgi?id=102777
3971
3972         Broke Chromium Debug compilation (Requested by yurys on
3973         #webkit).
3974
3975         * bindings/v8/DOMDataStore.h:
3976         (WebCore::DOMDataStore::getNode):
3977
3978 2012-11-20  Vsevolod Vlasov  <vsevik@chromium.org>
3979
3980         Web Inspector: Revert r133149: breaks revision reverting
3981         https://bugs.webkit.org/show_bug.cgi?id=102672
3982
3983         Reviewed by Yury Semikhatsky.
3984
3985         * inspector/front-end/JavaScriptSourceFrame.js:
3986         (WebInspector.JavaScriptSourceFrame):
3987         (WebInspector.JavaScriptSourceFrame.prototype._onFormattedChanged):
3988         (WebInspector.JavaScriptSourceFrame.prototype._onWorkingCopyCommitted):
3989         (WebInspector.JavaScriptSourceFrame.prototype._innerSetContent):
3990
3991 2012-11-19  Csaba Osztrogonác  <ossy@webkit.org>
3992
3993         [Qt][Win] Unreviewed speculative buildfix after r135217.
3994
3995         * platform/win/WindowsExtras.h:
3996
3997 2012-11-19  Yury Semikhatsky  <yurys@chromium.org>
3998
3999         Unreviewed. Fix Chromium Win compilation after r135255.
4000         https://bugs.webkit.org/show_bug.cgi?id=97803
4001
4002         * WebCore.gypi: removed reference to platform/wince/DragDataWince.cpp which
4003         was deleted in the aforementioned change.
4004
4005 2012-11-19  Kentaro Hara  <haraken@chromium.org>
4006
4007         [V8] Merge getCachedWrapper(Node*) into DOMDataStore
4008         https://bugs.webkit.org/show_bug.cgi?id=102158
4009
4010          Reviewed by Adam Barth.
4011
4012         A follow-up patch for r135230. This patch adds a correct ASSERTION.
4013
4014         No tests. No change in behavior.
4015
4016         * bindings/v8/DOMDataStore.h:
4017         (WebCore::DOMDataStore::getNode):
4018
4019 2012-11-19  Kentaro Hara  <haraken@chromium.org>
4020
4021         [JSC] Replace $implClassName with $interfaceName in CodeGeneratorJS.pm
4022         https://bugs.webkit.org/show_bug.cgi?id=102757
4023
4024         Reviewed by Adam Barth.
4025
4026         In CodeGeneratorJS.pm $implClassName and $interfaceName are
4027         equivalent. We're using them interchangeably. We should replace
4028         $implClassName with $interfaceName.
4029
4030         No tests. No change in behavior.
4031
4032         * bindings/scripts/CodeGeneratorJS.pm:
4033         (AddClassForwardIfNeeded):
4034         (GenerateGetOwnPropertySlotBody):
4035         (GenerateGetOwnPropertyDescriptorBody):
4036         (GenerateHeader):
4037         (GenerateOverloadedFunction):
4038         (GenerateImplementation):
4039         (GenerateParametersCheck):
4040         (GenerateImplementationFunctionCall):
4041         (NativeToJSValue):
4042
4043 2012-11-19  Patrick Gansterer  <paroga@webkit.org>
4044
4045         Port DragDataWin.cpp to WinCE
4046         https://bugs.webkit.org/show_bug.cgi?id=97803
4047
4048         Reviewed by Brent Fulgham.
4049
4050         Add two simple #if OS(WINCE) to DragDataWin.cpp, so it can be used by the WinCE port too.
4051
4052         * PlatformWinCE.cmake:
4053         * platform/win/DragDataWin.cpp:
4054         (WebCore::DragData::containsFiles):
4055         (WebCore::DragData::numberOfFiles):
4056         (WebCore::DragData::asFilenames):
4057         * platform/wince/DragDataWinCE.cpp: Removed.
4058
4059 2012-11-19  Pan Deng  <pan.deng@intel.com>
4060
4061         [Web Inspector] This patch makes script line number search-able in Timeline panel.
4062         https://bugs.webkit.org/show_bug.cgi?id=101910.
4063
4064         Reviewed by Pavel Feldman.
4065
4066         Script line number is visible in Timeline panel, however, not search-able. This patch makes it search-able.
4067
4068         No new tests. 
4069
4070         * inspector/front-end/TimelinePanel.js:
4071         (WebInspector.TimelineRecordListRow.prototype.update):
4072         (WebInspector.TimelineRecordListRow.testContentMatching):
4073         * inspector/front-end/TimelinePresentationModel.js:
4074         (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):
4075         (WebInspector.TimelinePresentationModel.Record.prototype._refreshDetails):
4076         (WebInspector.TimelinePresentationModel.Record.prototype.detailsNode):
4077         (WebInspector.TimelinePresentationModel.Record.prototype._createSpanWithText):
4078         (WebInspector.TimelinePresentationModel.Record.prototype._getRecordDetails):
4079
4080 2012-11-19  Elliott Sprehn  <esprehn@chromium.org>
4081
4082         Remove unneeded null check in NodeRendererFactory::createRendererIfNeeded
4083         https://bugs.webkit.org/show_bug.cgi?id=102765
4084
4085         Reviewed by Ojan Vafai.
4086
4087         If parentRenderer() was null then we return early from
4088         createRendererIfNeeded() because shouldCreateRenderer() will return false
4089         so there's no reason to check for it again.
4090
4091         Additionally if either parentRenderer() or style() is null then
4092         implementations of rendererIsNeeded() will crash, so add asserts to
4093         make this assumption more clear.
4094
4095         No new tests, just simplification.
4096
4097         * dom/NodeRenderingContext.cpp:
4098         (WebCore::NodeRendererFactory::createRendererIfNeeded):
4099
4100 2012-11-19  Shinya Kawanaka  <shinyak@chromium.org>
4101
4102         [Refactoring] Remove WebCore::isInsertionPoint(Node*)
4103         https://bugs.webkit.org/show_bug.cgi?id=102756
4104
4105         Reviewed by Hajime Morita.
4106
4107         Now that WebCore::isInsertionPoint(Node* node) does nothing special. We can remove this.
4108
4109         No new tests, simple refactoring.
4110
4111         * dom/ComposedShadowTreeWalker.cpp:
4112         (WebCore::ComposedShadowTreeWalker::traverseNodeEscapingFallbackContents):
4113         * dom/ContainerNode.cpp: