8c7ed4799bfc54d516e9ae71dd61703ad29312ab
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-05-22  Vsevolod Vlasov  <vsevik@chromium.org>
2
3         Web Inspector: JavaScript breakpoints disappear when Ctrl+S is pressed for the script without changes.
4         https://bugs.webkit.org/show_bug.cgi?id=87121
5
6         Reviewed by Pavel Feldman.
7
8         JavaScriptSourceFrame and StylesSourceFrame should not commit working copy unless UISourceCode is dirty.
9
10         * inspector/front-end/JavaScriptSourceFrame.js:
11         (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
12         * inspector/front-end/StylesPanel.js:
13         (WebInspector.StyleSourceFrame.prototype.commitEditing):
14         * inspector/front-end/UISourceCode.js:
15         (WebInspector.UISourceCode.prototype.commitWorkingCopy):
16
17 2012-05-22  Ilya Tikhonovsky  <loislo@chromium.org>
18
19         Web Inspector: HeapSnapshot: speed-up calculateRetainedSize functon.
20         https://bugs.webkit.org/show_bug.cgi?id=87124
21
22         I found that in all dominators related functions we use nodeOrdinals.
23         At the moment we divide nodeIndex to nodeFieldCount and this operation too expensive for these simple algorithms.
24
25         Reviewed by Yury Semikhatsky.
26
27         Covered by existing tests.
28
29         * inspector/front-end/HeapSnapshot.js:
30         (WebInspector.HeapSnapshotNode.prototype.get dominatorIndex):
31         (WebInspector.HeapSnapshot.prototype._init):
32         (WebInspector.HeapSnapshot.prototype._buildPostOrderIndex):
33         (WebInspector.HeapSnapshot.prototype._buildDominatorTree):
34         (WebInspector.HeapSnapshot.prototype._calculateRetainedSizes):
35         (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
36
37 2012-05-22  Yury Semikhatsky  <yurys@chromium.org>
38
39         Web Inspector: annotate InjectedScriptSource.js for closure compiler
40         https://bugs.webkit.org/show_bug.cgi?id=87120
41
42         Reviewed by Pavel Feldman.
43
44         Annotated InjectedScriptSource.js for closure compiler. Replaced call of undefined
45         _isPrimitiveValue function with isPrimitiveValue.
46
47         * inspector/InjectedScriptExterns.js: Added. External APIs used in InjectedScriptSource.js
48         (console.log):
49         (InjectedScriptHost.prototype.storageId):
50         (InjectedScriptHost.prototype.functionDetails):
51         (InjectedScriptHost.prototype.isHTMLAllCollection):
52         (InjectedScriptHost.prototype.internalConstructorName):
53         (InjectedScriptHost.prototype.copyText):
54         (InjectedScriptHost.prototype.clearConsoleMessages):
55         (InjectedScriptHost.prototype.inspectedObject):
56         (InjectedScriptHost.prototype.databaseId):
57         (InjectedScriptHost.prototype.inspect):
58         (InjectedScriptHost.prototype.type):
59         (InjectedScriptHost.prototype.getEventListeners):
60         (JavaScriptCallFrame.prototype.scopeType):
61         * inspector/InjectedScriptSource.js:
62
63 2012-05-22  Ian Vollick  <vollick@chromium.org>
64
65         [chromium] Speed up CCLayerTreeHostTestTickAnimationWhileBackgrounded
66         https://bugs.webkit.org/show_bug.cgi?id=86871
67
68         Reviewed by James Robinson.
69
70         With this patch, the background animation timer is lazily created,
71         allowing for different time intervals to be used. In particular, a
72         very short interval for unit tests.
73
74         Unit tests: CCLayerTreeHostTestTickAnimationWhileBackgrounded.runSingleThread
75                     CCLayerTreeHostTestTickAnimationWhileBackgrounded.runMultiThread
76
77         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
78         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
79         (WebCore::CCLayerTreeHostImpl::setBackgroundTickingEnabled):
80         (WebCore):
81         (WebCore::CCLayerTreeHostImpl::setVisible):
82         (WebCore::CCLayerTreeHostImpl::animateLayers):
83         (WebCore::CCLayerTreeHostImpl::lowFrequencyAnimationInterval):
84         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
85         (CCLayerTreeHostImpl):
86         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
87         (WebCore::CCSingleThreadProxy::setVisible):
88
89 2012-05-22  Alexander Pavlov  <apavlov@chromium.org>
90
91         Web Inspector: [Styles] Odd synthetic shorthands may appear in the style
92         https://bugs.webkit.org/show_bug.cgi?id=87081
93
94         Reviewed by Vsevolod Vlasov.
95
96         * inspector/front-end/StylesSidebarPane.js:
97         (WebInspector.StylePropertiesSection.prototype.onpopulate):
98
99 2012-05-22  Hayato Ito  <hayato@chromium.org>
100
101         Fix crashes when a mouse points a <svg> element in shadow DOM subtree.
102         https://bugs.webkit.org/show_bug.cgi?id=86795
103
104         Reviewed by Nikolas Zimmermann.
105
106         <svg> elements in shadow dom subtree are still not supported.
107         This fixes only crashes.
108
109         Test: fast/dom/shadow/shadow-dom-event-dispatching.html
110
111         * dom/EventDispatcher.cpp:
112         (WebCore::eventTargetRespectingSVGTargetRules):
113         * page/EventHandler.cpp:
114         (WebCore::instanceAssociatedWithShadowTreeElement):
115
116 2012-05-22  Andreas Kling  <kling@webkit.org>
117
118         DOM Attr objects pointing to "style" attribute should force reification when read.
119         <http://webkit.org/b/87076>
120
121         Reviewed by Antti Koivisto.
122
123         Make sure that the "style" attribute is reserialized as needed when it gets retrieved
124         through an Attr object. This fixes a bug where updating an element's inline style
125         through the CSSOM API, and then retrieving the style attribute through an Attr node
126         that was previously created by element.getAttributeNode() would return the old style
127         attribute value.
128
129         Test: fast/dom/attr-style-too-lazy.html
130
131         * dom/Attr.cpp:
132         (WebCore::Attr::value):
133
134 2012-05-22  Ilya Tikhonovsky  <loislo@chromium.org>
135
136         Web Inspector: HeapProfiler: upstream retainedSize calculation.
137         https://bugs.webkit.org/show_bug.cgi?id=87107
138
139         This patch upstreams V8::HeapSnapshotGenerator::CalculateRetainedSizes function to front-end.
140         After that we will be able to drop retainedSize field from the snapshot serialized data.
141         See meta-bug https://bugs.webkit.org/show_bug.cgi?id=87089
142
143         Reviewed by Yury Semikhatsky.
144
145         * inspector/front-end/HeapSnapshot.js:
146         (WebInspector.HeapSnapshotNode.prototype.get retainedSize):
147         (WebInspector.HeapSnapshot.prototype._init):
148         (WebInspector.HeapSnapshot.prototype._calculateRetainedSizes):
149
150 2012-05-22  Emil A Eklund  <eae@chromium.org>
151
152         Change RenderBlock to user RenderBox/RenderInline writing mode logic
153         https://bugs.webkit.org/show_bug.cgi?id=87040
154
155         Reviewed by Eric Seidel.
156
157         Remove unnecessary writing mode logic in RenderBlock and use the
158         implementation in RenderBox and RenderInline instead.
159
160         No new tests, no change in functionality.
161
162         * rendering/RenderBlock.cpp:
163         (WebCore):
164         * rendering/RenderBlock.h:
165         (WebCore::RenderBlock::marginBeforeForChild):
166         (WebCore::RenderBlock::marginAfterForChild):
167         (WebCore::RenderBlock::marginStartForChild):
168         (WebCore::RenderBlock::marginEndForChild):
169         (WebCore::RenderBlock::setMarginStartForChild):
170         (WebCore::RenderBlock::setMarginEndForChild):
171         (WebCore::RenderBlock::setMarginBeforeForChild):
172         (WebCore::RenderBlock::setMarginAfterForChild):
173         * rendering/RenderBox.cpp:
174         (WebCore::RenderBox::marginBefore):
175         (WebCore::RenderBox::marginAfter):
176         (WebCore::RenderBox::marginStart):
177         (WebCore::RenderBox::marginEnd):
178         (WebCore::RenderBox::setMarginStart):
179         (WebCore::RenderBox::setMarginEnd):
180         (WebCore::RenderBox::setMarginBefore):
181         (WebCore::RenderBox::setMarginAfter):
182         * rendering/RenderBox.h:
183         (RenderBox):
184         * rendering/RenderBoxModelObject.h:
185         (RenderBoxModelObject):
186         * rendering/RenderInline.cpp:
187         (WebCore::RenderInline::marginStart):
188         (WebCore::RenderInline::marginEnd):
189         (WebCore::RenderInline::marginBefore):
190         (WebCore::RenderInline::marginAfter):
191         * rendering/RenderInline.h:
192         (RenderInline):
193
194 2012-05-22  Li Yin  <li.yin@intel.com>
195
196         [WebSocket] WebSocket object should fire a simple event named error when it is required to fail the websocket connection.
197         https://bugs.webkit.org/show_bug.cgi?id=86958
198
199         Reviewed by Kent Tamura.
200
201         Spec:http://dev.w3.org/html5/websockets/#feedback-from-the-protocol
202         If the user agent was required to fail the websocket connection or the 
203         WebSocket connection is closed with prejudice, fire a simple event 
204         named error at the WebSocket object.
205
206         Tests: http/tests/websocket/tests/hybi/close.html
207
208         * Modules/websockets/WebSocket.cpp:
209         (WebCore::WebSocket::didReceiveMessageError):
210         * Modules/websockets/WebSocketChannel.cpp:
211         (WebCore::WebSocketChannel::fail):
212
213 2012-05-22  Yury Semikhatsky  <yurys@chromium.org>
214
215         Web Inspector: allow showing selected object in another heap profiler view
216         https://bugs.webkit.org/show_bug.cgi?id=87098
217
218         Reviewed by Vsevolod Vlasov.
219
220         Added 2 context menu actions: 1) to jump from a node in the heap snapshot summary
221         view to the same node in the dominators view; 2) to jump from a node in the dominators
222         view to the same node in the summary view.
223
224         * inspector/front-end/HeapSnapshotDataGrids.js:
225         (WebInspector.HeapSnapshotSortableDataGrid): "sorting complete" event is only dispatched on
226         when the data grid is populated. If we switch to already populated data grid the event is not
227         dispatched. However when switching between different views of a heap snapshot we want to track
228         the moment when the data grid is shown and populated. I added
229         WebInspector.HeapSnapshotSortableDataGrid.Events.ContentShown for such cases. The event will always
230         be dispatched after the data grid is shown and its content is populated.
231         (WebInspector.HeapSnapshotSortableDataGrid.prototype.wasShown):
232         (WebInspector.HeapSnapshotSortableDataGrid.prototype._sortingComplete):
233         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu.revealInDominatorsView):
234         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu.else.revealInSummaryView):
235         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu):
236         (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
237         * inspector/front-end/HeapSnapshotGridNodes.js:
238         (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
239         (WebInspector.HeapSnapshotDominatorObjectNode.prototype.retrieveChildBySnapshotObjectId):
240         * inspector/front-end/HeapSnapshotView.js:
241         (WebInspector.HeapSnapshotView.prototype.populateContextMenu):
242         (WebInspector.HeapSnapshotView.prototype.changeView.dataGridContentShown):
243         (WebInspector.HeapSnapshotView.prototype.changeView):
244         (WebInspector.HeapSnapshotView.prototype._onSelectedViewChanged):
245         (WebInspector.HeapSnapshotView.prototype._changeView):
246         * inspector/front-end/ProfilesPanel.js:
247         (WebInspector.ProfilesPanel.prototype._handleContextMenuEvent):
248
249 2012-05-22  Yury Semikhatsky  <yurys@chromium.org>
250
251         Web Inspector: show more button node should have height multiple of row height
252         https://bugs.webkit.org/show_bug.cgi?id=87104
253
254         Reviewed by Vsevolod Vlasov.
255
256         Made "show more" button height multiple of the data grid row height.
257
258         * inspector/front-end/ShowMoreDataGridNode.js:
259         (WebInspector.ShowMoreDataGridNode.prototype.nodeHeight):
260         * inspector/front-end/dataGrid.css:
261         (.data-grid button):
262
263 2012-05-22  Kentaro Hara  <haraken@chromium.org>
264
265         [V8] Add an optional 'isolate' argument to throwTypeError()
266         https://bugs.webkit.org/show_bug.cgi?id=87070
267
268         Reviewed by Adam Barth.
269
270         The objective is to pass Isolate around in V8 bindings.
271         This patch adds an optional 'isolate' argument to throwTypeError(),
272         and passes Isolate to throwTypeError()s. In a following patch,
273         I'll pass Isolate to all throwTypeError("message")s.
274
275         No tests. No change in behavior.
276
277         * bindings/scripts/CodeGeneratorV8.pm:
278         (GenerateNormalAttrSetter):
279         (GenerateOverloadedFunctionCallback):
280         (GenerateParametersCheck):
281         * bindings/scripts/test/V8/V8TestObj.cpp:
282         (WebCore::TestObjV8Internal::overloadedMethodCallback):
283         (WebCore::TestObjV8Internal::overloadedMethod1Callback):
284         * bindings/v8/V8Proxy.cpp:
285         (WebCore::V8Proxy::throwTypeError):
286         * bindings/v8/V8Proxy.h:
287         (V8Proxy):
288         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
289         (WebCore::constructWebGLArray):
290         * bindings/v8/custom/V8DataViewCustom.cpp:
291         (WebCore::V8DataView::constructorCallback):
292         * bindings/v8/custom/V8SVGLengthCustom.cpp:
293         (WebCore::V8SVGLength::valueAccessorSetter):
294         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
295         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
296         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
297         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
298         (WebCore::V8WebGLRenderingContext::getUniformCallback):
299         (WebCore::vertexAttribAndUniformHelperf):
300         (WebCore::uniformHelperi):
301         (WebCore::uniformMatrixHelper):
302
303 2012-05-22  Yoshifumi Inoue  <yosin@chromium.org>
304
305         [Forms][Meter][Progress] Change function signature of parseToDoubleForNumberType
306         https://bugs.webkit.org/show_bug.cgi?id=87077
307
308         Reviewed by Hajime Morita.
309
310         This patch changes function signature of parseToDoubleForNumberType and
311         parseToDoubleForNumberTypeWithDecimalPlaces to return double value instead
312         of bool for reducing code in call sites for ease of maintenance. This patch
313         also allows to use functional style of using these functions.
314
315         No new tests. This patch doesn't change behavior.
316
317         * html/HTMLMeterElement.cpp:
318         (WebCore::HTMLMeterElement::min): Changed for using double return value.
319         (WebCore::HTMLMeterElement::max): Changed for using double return value.
320         (WebCore::HTMLMeterElement::value): Changed for using double return value.
321         (WebCore::HTMLMeterElement::low): Changed for using double return value.
322         (WebCore::HTMLMeterElement::high): Changed for using double return value.
323         (WebCore::HTMLMeterElement::optimum): Changed for using double return value.
324         * html/HTMLProgressElement.cpp:
325         (WebCore::HTMLProgressElement::value): Changed for using double return value.
326         (WebCore::HTMLProgressElement::max): Changed for using double return value.
327         * html/NumberInputType.cpp:
328         (WebCore::NumberInputType::typeMismatchFor): Changed for using double return value.
329         (WebCore::NumberInputType::sizeShouldIncludeDecoration): Changed for using double return value.
330         (WebCore::NumberInputType::parseToDouble): Changed for using double return value.
331         (WebCore::NumberInputType::parseToDoubleWithDecimalPlaces): Changed for using double return value.
332         (WebCore::NumberInputType::visibleValue): Changed for using double return value.
333         (WebCore::NumberInputType::sanitizeValue): Changed for using double return value.
334         * html/RangeInputType.cpp:
335         (WebCore::RangeInputType::parseToDouble): Changed for using double return value.
336         * html/StepRange.cpp:
337         (WebCore::StepRange::parseStep): Changed for using double return value.
338         * html/StepRange.h:
339         (WebCore::StepRange::defaultValue): Added "const" attribute
340         (WebCore::StepRange::proportionFromValue): Added "const" attribute
341         (WebCore::StepRange::valueFromProportion): Added "const" attribute
342         * html/parser/HTMLParserIdioms.cpp:
343         (WebCore::parseToDoubleForNumberType): Changed for using double return value. Added one parameter function.
344         (WebCore::parseToDoubleForNumberTypeWithDecimalPlaces): Changed for using double return value. Added function for providing default fallback value.
345         * html/parser/HTMLParserIdioms.h: Changed function prototype and added one parameter prototypes.
346         * html/shadow/SliderThumbElement.cpp:
347         (WebCore::sliderPosition): Changed for using double return value.
348
349 2012-05-22  Kentaro Hara  <haraken@chromium.org>
350
351         REGRESSION r110315: Event handler throws TypeError for an input element with name="arguments"
352         https://bugs.webkit.org/show_bug.cgi?id=86991
353
354         Reviewed by Ojan Vafai.
355
356         Original Chromium bug: http://code.google.com/p/chromium/issues/detail?id=128723
357
358         Consider the following html:
359
360         <html><body><form>
361         <input type="hidden" name="arguments"></input>
362         <div onclick="onclicked()" id="divInsideForm">Click here</div>
363         </form></body>
364         <script>
365         function onclicked() {
366           alert("onclicked");
367         }
368         </script>
369         </html>
370
371         If we click "Click here", JavaScript throws "Uncaught TypeError: undefined has no properties".
372
373         This is a regression caused by r110315. V8LazyEventListener should not use
374         'arguments' to retrieve the execution contexts, since 'arguments' can be
375         shadowed by JavaScript.
376
377         This patch changes V8LazyEventListener so that it retrieves contexts
378         by this[2], this[1] and this[0].
379
380         Test: fast/forms/form-input-named-arguments.html
381
382         * bindings/v8/V8LazyEventListener.cpp:
383         (WebCore::V8LazyEventListener::prepareListenerObject):
384
385 2012-05-22  Kentaro Hara  <haraken@chromium.org>
386
387         [V8] setDOMException() should return v8::Handle<v8::Value>()
388         https://bugs.webkit.org/show_bug.cgi?id=87083
389
390         Reviewed by Adam Barth.
391
392         The following patterns are used here and there in V8 bindings:
393
394             setDOMException();
395             return v8::Handle<v8::Value>();
396
397         and
398
399             setDOMException();
400             return v8::Undefined();
401
402         By returning v8::Handle<v8::Value>() from setDOMException(), we can simplify the above patterns into this:
403
404             return setDOMException();
405
406         This patch just replaces the code in CodeGeneratorV8.pm. I'll replace
407         all other custom bindings in a follow-up patch.
408
409         No tests. No change in behavior.
410
411         * bindings/scripts/CodeGeneratorV8.pm:
412         (GenerateSetDOMException):
413         (GenerateFunctionCallback):
414         (GenerateFunctionCallString):
415         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
416         (WebCore::TestEventTargetV8Internal::itemCallback):
417         (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
418         * bindings/scripts/test/V8/V8TestInterface.cpp:
419         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
420         * bindings/scripts/test/V8/V8TestObj.cpp:
421         (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrGetter):
422         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
423         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
424         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
425         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
426         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
427         (WebCore::TestObjV8Internal::methodWithExceptionCallback):
428         (WebCore::TestObjV8Internal::withScriptStateVoidExceptionCallback):
429         (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
430         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
431         (WebCore::TestObjV8Internal::getSVGDocumentCallback):
432         (WebCore::TestObjV8Internal::strictFunctionCallback):
433         * bindings/v8/V8Proxy.cpp:
434         (WebCore::V8Proxy::setDOMException):
435         * bindings/v8/V8Proxy.h:
436         (V8Proxy):
437
438 2012-05-22  MORITA Hajime  <morrita@google.com>
439
440         Unreviewed expectations update against r117989.
441
442         * bindings/scripts/test/V8/V8Float64Array.cpp:
443         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
444         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
445         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
446         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
447         * bindings/scripts/test/V8/V8TestException.cpp:
448         * bindings/scripts/test/V8/V8TestInterface.cpp:
449         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
450         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
451         * bindings/scripts/test/V8/V8TestNode.cpp:
452         * bindings/scripts/test/V8/V8TestObj.cpp:
453         (WebCore::V8TestObj::installPerContextProperties):
454         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
455
456 2012-05-21  Ilya Tikhonovsky  <loislo@chromium.org>
457
458         Web Inspector: migrate dominatorIndex code to the front-end calculated dominatorsTree.
459         https://bugs.webkit.org/show_bug.cgi?id=87024
460
461         Reviewed by Yury Semikhatsky.
462
463         * inspector/front-end/HeapSnapshot.js:
464         (WebInspector.HeapSnapshotNode.prototype.get dominatorIndex):
465         (WebInspector.HeapSnapshot.prototype._init):
466
467 2012-05-22  Kentaro Hara  <haraken@chromium.org>
468
469         [V8] Replace 'throwError(); return Undefined();' with 'return throwError()'
470         https://bugs.webkit.org/show_bug.cgi?id=87079
471
472         Reviewed by Adam Barth.
473
474         This patch replaces
475
476             throwError();
477             return v8::Undefined();
478
479         with
480
481             return throwError();
482
483         No tests. No change in behavior.
484
485         * bindings/v8/DateExtension.cpp:
486         (WebCore::DateExtension::OnSleepDetected):
487         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
488         (WebCore::V8HTMLDocument::openCallback):
489         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
490         (WebCore::V8InjectedScriptHost::inspectedObjectCallback):
491         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
492         (WebCore::V8SQLResultSetRowList::itemCallback):
493         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
494         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
495         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
496         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
497         (WebCore::V8WebGLRenderingContext::getUniformCallback):
498         (WebCore::vertexAttribAndUniformHelperf):
499         (WebCore::uniformHelperi):
500         (WebCore::uniformMatrixHelper):
501
502 2012-05-22  Kenneth Russell  <kbr@google.com>
503
504         Must set/reset pixel unpack alignment to 1 during texSubImage2D
505         https://bugs.webkit.org/show_bug.cgi?id=86877
506
507         Reviewed by James Robinson.
508
509         Set pixel unpack alignment to 1 during upload, resetting afterward.
510
511         Tests: fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgb565.html
512                fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba4444.html
513                fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba5551.html
514                fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas.html
515                fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgb565.html
516                fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba4444.html
517                fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba5551.html
518                fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgb565.html
519                fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba4444.html
520                fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba5551.html
521
522         * html/canvas/WebGLRenderingContext.cpp:
523         (WebCore::WebGLRenderingContext::texSubImage2DImpl):
524         (WebCore::WebGLRenderingContext::texSubImage2D):
525             Set pixel unpack alignment to 1 during upload; reset afterward.
526
527 2012-05-21  Sam D  <dsam2912@gmail.com>
528
529         Web Inspector: "Deactivate All Breakpoints" should visually get reflected in Breakpoints pane.
530         https://bugs.webkit.org/show_bug.cgi?id=86844
531
532         Reviewed by Pavel Feldman.
533
534         Added an option for activate/deactivate breakpoints into Breakpoints
535         pane section. Style properties has been attached with
536         breakpoint list to reflect active state of breakpoints.
537
538         No new tests. UI Change.
539
540         * English.lproj/localizedStrings.js:
541         * inspector/front-end/BreakpointsSidebarPane.js:
542         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointContextMenu):
543         * inspector/front-end/ScriptsPanel.js:
544         (WebInspector.ScriptsPanel.prototype._breakpointsActiveStateChanged):
545         * inspector/front-end/inspector.css:
546         (.breakpoints-list-deactivated):
547
548 2012-05-21  Alexis Menard  <alexis.menard@openbossa.org>
549
550         Web Inspector: Remove some dead code in CSSStyleModel.js.
551         https://bugs.webkit.org/show_bug.cgi?id=87048
552
553         Reviewed by Pavel Feldman.
554
555         Remove dead and unused code in CSSStyleModel.js.
556
557         No new tests : the code is supposedly dead so we should not have
558         any regressions.
559
560         * inspector/front-end/CSSStyleModel.js:
561
562 2012-05-21  Adam Barth  <abarth@webkit.org>
563
564         !HAVE(ACCESSIBILITY) should be able to build without linking in any code from WebCore/accessibility
565         https://bugs.webkit.org/show_bug.cgi?id=87035
566
567         Reviewed by Chris Fleizach.
568
569         The OS(ANDROID) already builds with !HAVE(ACCESSIBILITY), but because
570         there are a few straggling references to objects in the
571         WebCore/accessibility directory, we end up pulling in a bunch of code
572         into the binary that we don't need.
573
574         This patch stubs out a few more functions for !HAVE(ACCESSIBILITY) so
575         we can link without any objects from WebCore/accessibility. This patch
576         also locks in that property by actually excluding the
577         WebCore/accessibility directory from the build on OS(ANDROID).
578
579         * WebCore.gyp/WebCore.gyp:
580         * accessibility/AXObjectCache.h:
581         (AXObjectCache):
582         (WebCore::AXObjectCache::enableAccessibility):
583         (WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility):
584         (WebCore::AXObjectCache::accessibilityEnabled):
585         (WebCore::AXObjectCache::accessibilityEnhancedUserInterfaceEnabled):
586         (WebCore::AXObjectCache::AXObjectCache):
587         (WebCore::AXObjectCache::~AXObjectCache):
588         (WebCore::AXObjectCache::get):
589         (WebCore::AXObjectCache::getOrCreate):
590         (WebCore::AXObjectCache::rootObject):
591         (WebCore::AXObjectCache::rootObjectForFrame):
592         (WebCore::AXObjectCache::rootAXEditableElement):
593         (WebCore::AXObjectCache::childrenChanged):
594         (WebCore::AXObjectCache::contentChanged):
595         (WebCore::AXObjectCache::detachWrapper):
596         (WebCore::AXObjectCache::handleActiveDescendantChanged):
597         (WebCore::AXObjectCache::handleAriaRoleChanged):
598         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
599         (WebCore::AXObjectCache::handleScrolledToAnchor):
600         (WebCore::AXObjectCache::nodeTextChangeNotification):
601         (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
602         (WebCore::AXObjectCache::postNotification):
603         (WebCore::AXObjectCache::postPlatformNotification):
604         (WebCore::AXObjectCache::remove):
605         (WebCore::AXObjectCache::selectedChildrenChanged):
606         * accessibility/AccessibilityObject.h:
607         (WebCore):
608         (WebCore::AccessibilityObject::updateBackingStore):
609         (WebCore::AccessibilityObject::lineForPosition):
610         (WebCore::AccessibilityObject::children):
611
612 2012-05-21  Andreas Kling  <kling@webkit.org>
613
614         Use stack-allocated BitArray in StylePropertySet serialization.
615         <http://webkit.org/b/87071>
616
617         Reviewed by Anders Carlsson.
618
619         Use BitArray instead of BitVector to track seen properties in StylePropertySet::asText().
620         This removes two heap allocations from this path.
621
622         * css/StylePropertySet.cpp:
623         (WebCore::StylePropertySet::asText):
624
625 2012-05-21  Hajime Morrita  <morrita@chromium.org>
626
627         Unreviewed Qt build fix against r117898.
628
629         * Target.pri:
630
631 2012-05-21  Hajime Morrita  <morrita@chromium.org>
632
633         [V8] Shadow DOM should be per-window-configurable.
634         https://bugs.webkit.org/show_bug.cgi?id=86555
635
636         Reviewed by Kentaro Hara.
637
638         This change introduces an IDL attribute named "V8EnabledAtContext"
639         which allows DOMWindow properties to be turned on or off per
640         windows basis. RuntimeEnabledFeatures::xxxAllowed() method decides the availability.
641
642         - CodeGeneratorV8.pm now accepts V8EnabledAtContext and allows such properties
643           to be configured per-Object basis, instead of per-ObjectTemplate basis.
644           The script generates V8Window::installPerContextProperties(), which injects such
645           per-object-turnable properties to newly created DOMWindow wrapper.
646         - Added RuntimeEnabledFeatures::shadowDOMAllowed(DOMWindow*) which is used to
647           decide the shadow dom availability of Shadow DOM feature.
648           It delegates the call to FrameLoaderClient::shadowDOMAllowed() to make the decision.
649         - The new IDL attribute is applied to DOMWindow.WebKitShadowRoot.
650         - Updated existing shadowDOMEnabled() call sites with shadowDOMAllowed().
651
652         No new tests except run-bindings-test. This isn't testable from
653         DRT and this change itself doesn't chagne the behaviour.  It needs
654         a client implementation.
655
656         * CMakeLists.txt:
657         * GNUmakefile.list.am:
658         * Target.pri:
659         * WebCore.gypi:
660         * WebCore.vcproj/WebCore.vcproj:
661         * WebCore.xcodeproj/project.pbxproj:
662         * bindings/generic/ContextEnabledFeatures.cpp: Added.
663         (WebCore):
664         (WebCore::ContextEnabledFeatures::shadowDOMEnabled):
665         * bindings/generic/ContextEnabledFeatures.h: Added.
666         (WebCore):
667         (ContextEnabledFeatures):
668         * bindings/scripts/CodeGeneratorV8.pm:
669         (GenerateHeader):
670         (GenerateImplementation):
671         (GetContextEnableFunction):
672         * bindings/scripts/IDLAttributes.txt:
673         * bindings/scripts/test/TestObj.idl:
674         * bindings/scripts/test/V8/V8TestObj.cpp:
675         (WebCore::TestObjV8Internal::enabledAtContextAttr1AttrGetter):
676         (TestObjV8Internal):
677         (WebCore::TestObjV8Internal::enabledAtContextAttr1AttrSetter):
678         (WebCore::TestObjV8Internal::enabledAtContextAttr2AttrGetter):
679         (WebCore::TestObjV8Internal::enabledAtContextAttr2AttrSetter):
680         (WebCore::V8TestObj::installPerContextProperties):
681         * bindings/scripts/test/V8/V8TestObj.h:
682         (V8TestObj):
683         * bindings/v8/V8DOMWindowShell.cpp:
684         (WebCore::V8DOMWindowShell::installDOMWindow): Adopted installPerContextProperties()
685         * bindings/v8/V8Proxy.h:
686         (WebCore):
687         (WebCore::configureAttribute): Generalized to accept both ObjectTemplate and Object.
688         * dom/Position.cpp: Adopted ContextEnabledFeatures
689         (WebCore::Position::Position):
690         (WebCore::Position::findParent):
691         * dom/ShadowRoot.idl:
692         * dom/TreeScope.cpp:
693         (WebCore::TreeScope::getSelection):
694         * html/shadow/HTMLContentElement.cpp: Adopted ContextEnabledFeatures
695         (WebCore::contentTagName):
696         (WebCore::HTMLContentElement::create):
697         * loader/FrameLoaderClient.h:
698         (FrameLoaderClient):
699         (WebCore::FrameLoaderClient::shadowDOMAllowed): Added with a default behavior.
700         * page/DOMWindow.cpp:
701         * page/DOMWindow.idl:
702
703
704 2012-05-21  Tony Chang  <tony@chromium.org>
705
706         auto margins on flexbox should allocate space in the flex direction
707         https://bugs.webkit.org/show_bug.cgi?id=83086
708
709         Reviewed by Ojan Vafai.
710
711         Test: css3/flexbox/flex-flow-auto-margins.html
712
713         * rendering/RenderFlexibleBox.cpp:
714         (WebCore::RenderFlexibleBox::autoMarginOffsetInMainAxis):
715         (WebCore):
716         (WebCore::RenderFlexibleBox::updateAutoMarginsInMainAxis):
717         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Update the margins on the RenderBox *after* we do the final child layout.
718         * rendering/RenderFlexibleBox.h:
719
720 2012-05-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
721
722         [EFL] Add inital mediaControlsEflfullscreen.css for fullscreen control UI
723         https://bugs.webkit.org/show_bug.cgi?id=86988
724
725         Reviewed by Eric Carlson.
726
727         In order to support fullscreen feature, EFL port needs to have new css file for fullscreen media control UI.
728
729         No new tests because this patch is covered by existing tests.
730
731         * PlatformEfl.cmake:
732         * css/mediaControlsEflFullscreen.css: Added.
733         (video::-webkit-media-controls-panel):
734         (video:-webkit-full-page-media::-webkit-media-controls-panel):
735         (video::-webkit-media-controls-mute-button):
736         (video::-webkit-media-controls-play-button):
737         (video::-webkit-media-controls-timeline-container):
738         (video::-webkit-media-controls-current-time-display):
739         (video::-webkit-media-controls-time-remaining-display):
740         (video::-webkit-media-controls-timeline):
741         (video::-webkit-media-controls-volume-slider-container):
742         (video::-webkit-media-controls-volume-slider):
743         (video::-webkit-media-controls-seek-back-button):
744         (video::-webkit-media-controls-seek-forward-button):
745         (video::-webkit-media-controls-fullscreen-button):
746         (video::-webkit-media-controls-rewind-button):
747         (video::-webkit-media-controls-return-to-realtime-button):
748         (video::-webkit-media-controls-toggle-closed-captions-button):
749         * platform/efl/RenderThemeEfl.cpp:
750         (WebCore):
751         (WebCore::RenderThemeEfl::extraFullScreenStyleSheet):
752         * platform/efl/RenderThemeEfl.h:
753         (RenderThemeEfl):
754
755 2012-05-21  Kentaro Hara  <haraken@chromium.org>
756
757         [V8] Remove V8Proxy::notHandledByInterceptor()
758         https://bugs.webkit.org/show_bug.cgi?id=86831
759
760         Reviewed by Adam Barth.
761
762         This patch replaces 'return V8Proxy::notHandledByInterceptor()'
763         with 'return v8::Handle<v8::Value>()'. See the discussion in
764         https://bugs.webkit.org/show_bug.cgi?id=85330 for more details.
765
766         No tests. No change in behavior.
767
768         * bindings/scripts/CodeGeneratorV8.pm:
769         (GenerateOverloadedFunctionCallback):
770         (GenerateParametersCheck):
771         * bindings/scripts/test/V8/V8TestObj.cpp:
772         (WebCore::TestObjV8Internal::overloadedMethodCallback):
773         (WebCore::TestObjV8Internal::overloadedMethod1Callback):
774         * bindings/v8/V8Collection.h:
775         (WebCore::collectionNamedPropertyGetter):
776         * bindings/v8/V8DOMWrapper.cpp:
777         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
778         * bindings/v8/V8NPObject.cpp:
779         (WebCore::npObjectSetProperty):
780         * bindings/v8/V8Proxy.cpp:
781         (WebCore::V8Proxy::runScript):
782         (WebCore::V8Proxy::throwError):
783         * bindings/v8/V8Proxy.h:
784         (WebCore):
785         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
786         (WebCore::constructWebGLArrayWithArrayBufferArgument):
787         (WebCore::setWebGLArrayHelper):
788         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
789         (WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
790         (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
791         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
792         (WebCore::V8DOMStringMap::namedPropertyGetter):
793         * bindings/v8/custom/V8DOMWindowCustom.cpp:
794         (WebCore::V8DOMWindow::indexedPropertyGetter):
795         (WebCore::V8DOMWindow::namedPropertyGetter):
796         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
797         (WebCore::V8HTMLAllCollection::namedPropertyGetter):
798         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
799         (WebCore::V8HTMLCollection::namedPropertyGetter):
800         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
801         (WebCore::V8HTMLFormElement::indexedPropertyGetter):
802         (WebCore::V8HTMLFormElement::namedPropertyGetter):
803         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
804         (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
805         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
806         (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):
807         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
808         (WebCore::npObjectNamedGetter):
809         (WebCore::npObjectNamedSetter):
810         (WebCore::npObjectIndexedGetter):
811         (WebCore::npObjectIndexedSetter):
812         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
813         (WebCore::V8HTMLSelectElement::indexedPropertyGetter):
814         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
815         (WebCore::V8NamedNodeMap::indexedPropertyGetter):
816         (WebCore::V8NamedNodeMap::namedPropertyGetter):
817         * bindings/v8/custom/V8NodeListCustom.cpp:
818         (WebCore::V8NodeList::namedPropertyGetter):
819         * bindings/v8/custom/V8StorageCustom.cpp:
820         (WebCore::storageGetter):
821         (WebCore::V8Storage::namedPropertyGetter):
822         (WebCore::storageSetter):
823         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
824         (WebCore::V8StyleSheetList::namedPropertyGetter):
825         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
826         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
827         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
828         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
829         (WebCore::V8WebGLRenderingContext::getUniformCallback):
830         (WebCore::vertexAttribAndUniformHelperf):
831         (WebCore::uniformHelperi):
832         (WebCore::uniformMatrixHelper):
833
834 2012-05-21  Rob Buis  <rbuis@rim.com>
835
836         Shrink FontDescription object size
837         https://bugs.webkit.org/show_bug.cgi?id=86950
838
839         Reviewed by Alexey Proskuryakov.
840
841         Reduce object size of FontDescription by 8 bytes on 64-bit, 4 bytes on 32-bit systems.
842         Note that this means Font, StyleInheritedData and RenderSVGInlineText shrink too.
843
844         * platform/graphics/FontDescription.cpp:
845         * platform/graphics/FontDescription.h:
846         (WebCore::FontDescription::script):
847         (FontDescription):
848
849 2012-05-21  Abhishek Arya  <inferno@chromium.org>
850
851         Regression(r117482): Run-in crashes relating to generated content and inline line box clearing.
852         https://bugs.webkit.org/show_bug.cgi?id=86879
853
854         Reviewed by Julien Chaffraix.
855
856         Tests: fast/runin/generated-content-crash.html
857                fast/runin/move-run-in-original-position-crash.html
858
859         * rendering/RenderBlock.cpp:
860         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): Use the new helper
861         placeRunInIfNeeded. Do not place the run-in if it is a generated container since
862         the caller such as updateBeforeAfterContent might be keeping a reference to it
863         and adding children to it later.
864         (WebCore::destroyRunIn): Add ability to clear line box tree for inlines.
865         (WebCore::RenderBlock::placeRunInIfNeeded): Helper to place run-in. Add an
866         argument to not modify generated content during addChild, it should be moved
867         only at end of updateBeforeAfterContent.
868         (WebCore::RenderBlock::moveRunInUnderSiblingBlockIfNeeded): 
869         (WebCore::RenderBlock::runInIsPlacedIntoSiblingBlock): helper to tell if this run-in
870         is actually placed into the next sibling block.
871         (WebCore::RenderBlock::moveRunInToOriginalPosition):
872         * rendering/RenderInline.cpp:
873         (WebCore::RenderInline::deleteLineBoxTree): like RenderBlock, add a helper
874         for deleteLineBoxTree. Virtualizing this might not be good, since this is
875         the only call site for inline line box tree clearing and RenderBlock::deleteLineBoxTree
876         is called a lot.
877         * rendering/RenderObjectChildList.cpp:
878         (WebCore::createRendererForBeforeAfterContent): fix a typo.
879         (WebCore::RenderObjectChildList::updateBeforeAfterContent): If insertBefore is equal
880         to the intruded run-in, then set it to next sibling so that new child will come after it. At
881         the end, place the generatedContainer if it is a run-in.
882
883 2012-05-21  James Robinson  <jamesr@chromium.org>
884
885         [chromium] Port chromium compositor to use WebFilterOperation(s)
886         https://bugs.webkit.org/show_bug.cgi?id=87046
887
888         Reviewed by Adrienne Walker.
889
890         This converts all compositor implementation logic to use WebFilterOperation(s) directly instead of the WebCore
891         types. GraphicsLayerChromium bridges between a WebCore::FilterOperations to WebFilterOperations, doing the
892         necessary type conversions and checking for filters that our compositor implementation supports. This cleans up
893         the chromium compositor's dependencies and removes any thread constraints from WebCore::FilterOperation /
894         WebCore::FilterOperations.
895
896         Covered by existing layout tests and unit tests in FilterOperationsTest.cpp
897
898         * WebCore.gyp/WebCore.gyp:
899         * WebCore.gypi:
900         * platform/chromium/support/WebFilterOperations.cpp: Moved to Source/Platform/chromium/src/
901         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
902         (WebCore::copyWebCoreFilterOperationsToWebFilterOperations):
903         (WebCore):
904         (WebCore::GraphicsLayerChromium::setFilters):
905         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
906         (WebCore::GraphicsLayerChromium::updateTransform):
907         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
908         * platform/graphics/chromium/GraphicsLayerChromium.h:
909         (GraphicsLayerChromium):
910         * platform/graphics/chromium/LayerChromium.cpp:
911         (WebCore::LayerChromium::setFilters):
912         (WebCore::LayerChromium::setBackgroundFilters):
913         (WebCore::LayerChromium::pushPropertiesTo):
914         * platform/graphics/chromium/LayerChromium.h:
915         (LayerChromium):
916         (WebCore::LayerChromium::filters):
917         (WebCore::LayerChromium::backgroundFilters):
918         * platform/graphics/chromium/RenderSurfaceChromium.h:
919         (WebCore::RenderSurfaceChromium::setFilters):
920         (WebCore::RenderSurfaceChromium::filters):
921         (WebCore::RenderSurfaceChromium::setBackgroundFilters):
922         (WebCore::RenderSurfaceChromium::backgroundFilters):
923         (RenderSurfaceChromium):
924         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
925         (WebCore::expandDamageRectWithFilters):
926         (WebCore::expandDamageRectInsideRectWithFilters):
927         (WebCore::CCDamageTracker::updateDamageTrackingState):
928         * platform/graphics/chromium/cc/CCDamageTracker.h:
929         (WebKit):
930         (WebCore):
931         (CCDamageTracker):
932         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
933         (WebCore::CCLayerImpl::setFilters):
934         (WebCore::CCLayerImpl::setBackgroundFilters):
935         * platform/graphics/chromium/cc/CCLayerImpl.h:
936         (CCLayerImpl):
937         (WebCore::CCLayerImpl::filters):
938         (WebCore::CCLayerImpl::backgroundFilters):
939         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
940         (WebCore::CCRenderSurface::applyFilters):
941         * platform/graphics/chromium/cc/CCRenderSurface.h:
942         (WebCore::CCRenderSurface::setFilters):
943         (WebCore::CCRenderSurface::filters):
944         (CCRenderSurface):
945         (WebCore::CCRenderSurface::setBackgroundFilters):
946         (WebCore::CCRenderSurface::backgroundFilters):
947         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
948         (WebCore::CCRenderSurfaceFilters::apply):
949         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.h:
950         (WebKit):
951         (CCRenderSurfaceFilters):
952         * testing/Internals.cpp:
953         (WebCore::Internals::setBackgroundBlurOnNode):
954
955 2012-05-15  Gavin Barraclough  <barraclough@apple.com>
956
957         Add support for private names
958         https://bugs.webkit.org/show_bug.cgi?id=86509
959
960         Reviewed by Oliver Hunt.
961
962         The spec isn't final, but we can start adding support to allow property maps
963         to contain keys that aren't identifiers.
964
965         Test: fast/js/names.html
966
967         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
968         (WebCore::cssPropertyIDForJSCSSPropertyName):
969         * bindings/js/JSDOMBinding.cpp:
970         (WebCore::findAtomicString):
971         (WebCore::objectToStringFunctionGetter):
972         * bindings/js/JSDOMBinding.h:
973         (WebCore::propertyNameToString):
974         (WebCore::propertyNameToAtomicString):
975         * bindings/js/JSDOMWindowCustom.cpp:
976         (WebCore::nonCachingStaticFunctionGetter):
977         * bindings/js/JSHistoryCustom.cpp:
978         (WebCore::nonCachingStaticBackFunctionGetter):
979         (WebCore::nonCachingStaticForwardFunctionGetter):
980         (WebCore::nonCachingStaticGoFunctionGetter):
981         * bindings/js/JSLocationCustom.cpp:
982         (WebCore::nonCachingStaticReplaceFunctionGetter):
983         (WebCore::nonCachingStaticReloadFunctionGetter):
984         (WebCore::nonCachingStaticAssignFunctionGetter):
985         * bridge/c/c_class.cpp:
986         (JSC::Bindings::CClass::methodsNamed):
987         (JSC::Bindings::CClass::fieldNamed):
988         * bridge/c/c_instance.cpp:
989         (JSC::Bindings::CInstance::getMethod):
990         * bridge/jni/jsc/JavaClassJSC.cpp:
991         (JavaClass::methodsNamed):
992         (JavaClass::fieldNamed):
993         * bridge/jni/jsc/JavaInstanceJSC.cpp:
994         * bridge/objc/objc_class.mm:
995         (JSC::Bindings::ObjcClass::methodsNamed):
996         (JSC::Bindings::ObjcClass::fieldNamed):
997         (JSC::Bindings::ObjcClass::fallbackObject):
998         * bridge/objc/objc_instance.mm:
999         (ObjcInstance::setValueOfUndefinedField):
1000         (ObjcInstance::getValueOfUndefinedField):
1001             - Removed PropertyName::impl(), call publicName() to get the string associated with a name.
1002
1003 2012-05-21  Tim Horton  <timothy_horton@apple.com>
1004
1005         GeneratorGeneratedImage should cache intermediate images
1006         https://bugs.webkit.org/show_bug.cgi?id=86906
1007         <rdar://problem/11484852>
1008
1009         Reviewed by Dean Jackson.
1010
1011         Cache generated images in GeneratorGeneratedImage. The cache is invalidated:
1012             a) if the Generator's hash changes.
1013             b) if the rendered size changes.
1014             c) if the cached image is incompatible with the destination context (acceleration state or CTM scale).
1015             d) after one second of disuse.
1016
1017         Add a hash() function to Generator, which should be implemented in subclasses
1018         to provide a straightforward way to determine if Generators have been mutated
1019         in a way that will affect the resultant rendering.
1020
1021         No new tests, performance optimization. Correctness is covered by the multitude of existing gradient tests.
1022
1023         * platform/graphics/Generator.h:
1024         (Generator):
1025         * platform/graphics/GeneratorGeneratedImage.cpp:
1026         (WebCore::GeneratorGeneratedImage::drawPattern):
1027         * platform/graphics/GeneratorGeneratedImage.h:
1028         (WebCore):
1029         (GeneratorGeneratedImage):
1030         (WebCore::GeneratorGeneratedImage::~GeneratorGeneratedImage):
1031         (WebCore::GeneratorGeneratedImage::GeneratorGeneratedImage):
1032         (GeneratedImageCacheTimer):
1033         (WebCore::GeneratorGeneratedImage::GeneratedImageCacheTimer::GeneratedImageCacheTimer):
1034         (WebCore::GeneratorGeneratedImage::GeneratedImageCacheTimer::restart):
1035         * platform/graphics/Gradient.cpp:
1036         (WebCore::Gradient::Gradient):
1037         (WebCore::Gradient::addColorStop):
1038         (WebCore::Gradient::sortStopsIfNecessary):
1039         (WebCore::Gradient::setSpreadMethod):
1040         (WebCore::Gradient::setGradientSpaceTransform):
1041         (WebCore::Gradient::hash):
1042         * platform/graphics/Gradient.h:
1043         (WebCore::Gradient::setP0):
1044         (WebCore::Gradient::setP1):
1045         (WebCore::Gradient::setStartRadius):
1046         (WebCore::Gradient::setEndRadius):
1047         (Gradient):
1048         (WebCore::Gradient::clearHashCache):
1049         * platform/graphics/GraphicsContext.cpp:
1050         (WebCore::GraphicsContext::isCompatibleWithBuffer):
1051         (WebCore):
1052         * platform/graphics/GraphicsContext.h:
1053         (GraphicsContext):
1054
1055 2012-05-21  Emil A Eklund  <eae@chromium.org>
1056
1057         Fix bug in paintNinePieceImage exposed by subpixel change
1058         https://bugs.webkit.org/show_bug.cgi?id=87060
1059
1060         Reviewed by Levi Weintraub.
1061
1062         Fix rounding in paintNinePieceImage where the left/right images where
1063         drawn on subpixel bounds.
1064
1065         Covered by existing tests.
1066
1067         * rendering/RenderBoxModelObject.cpp:
1068         (WebCore::RenderBoxModelObject::paintNinePieceImage):
1069
1070 2012-05-21  Emil A Eklund  <eae@chromium.org>
1071
1072         Move padding/margin/offset writing mode logic from RenderStyle to LengthBox
1073         https://bugs.webkit.org/show_bug.cgi?id=86970
1074
1075         Reviewed by Eric Seidel.
1076
1077         Move writing mode and bidi logic for paddings, margins and offsets from
1078         RenderStyle to LengthBox. This way the same logic can be used for all
1079         three removing unnecessary code duplication.
1080
1081         No new tests, no change in functionality.
1082
1083         * CMakeLists.txt:
1084         * GNUmakefile.list.am:
1085         * Target.pri:
1086         * WebCore.gypi:
1087         * WebCore.vcproj/WebCore.vcproj:
1088         * WebCore.xcodeproj/project.pbxproj:
1089         * platform/LengthBox.cpp: Added.
1090         * platform/LengthBox.h:
1091         * rendering/style/RenderStyle.cpp:
1092         * rendering/style/RenderStyle.h:
1093
1094 2012-05-21  Mike West  <mkwst@chromium.org>
1095
1096         Improving console error for CSP-blocked  `setTimeout` and `setInterval` evaluation.
1097         https://bugs.webkit.org/show_bug.cgi?id=86943
1098
1099         Reviewed by Adam Barth.
1100
1101         If the inspector is open, a stack trace is generated before calling
1102         ContentSecurityPolicy::allowEval, and passed through to
1103         ContentSecurityPolicy::reportViolation for use in the console message.
1104
1105         Test: http/tests/inspector-enabled/contentSecurityPolicy-blocks-setInterval.html
1106               http/tests/inspector-enabled/contentSecurityPolicy-blocks-setTimeout.html
1107
1108         * bindings/js/ScheduledAction.cpp:
1109         (WebCore::ScheduledAction::create):
1110         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1111         (WebCore::WindowSetTimeoutImpl):
1112         * page/ContentSecurityPolicy.cpp:
1113         (CSPDirectiveList):
1114         (WebCore::CSPDirectiveList::reportViolation):
1115         (WebCore::CSPDirectiveList::checkEvalAndReportViolation):
1116         (WebCore::CSPDirectiveList::allowEval):
1117         (WebCore):
1118         (WebCore::isAllowedByAllWithCallStack):
1119         (WebCore::isAllowedByAllWithURL):
1120         (WebCore::ContentSecurityPolicy::allowEval):
1121         (WebCore::ContentSecurityPolicy::allowScriptFromSource):
1122         (WebCore::ContentSecurityPolicy::allowObjectFromSource):
1123         (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
1124         (WebCore::ContentSecurityPolicy::allowImageFromSource):
1125         (WebCore::ContentSecurityPolicy::allowStyleFromSource):
1126         (WebCore::ContentSecurityPolicy::allowFontFromSource):
1127         (WebCore::ContentSecurityPolicy::allowMediaFromSource):
1128         (WebCore::ContentSecurityPolicy::allowConnectToSource):
1129         * page/ContentSecurityPolicy.h:
1130         (WebCore):
1131
1132 2012-05-21  Antoine Labour  <piman@chromium.org>
1133
1134         Don't force rendering in finishAllRendering
1135         https://bugs.webkit.org/show_bug.cgi?id=86919
1136
1137         Reviewed by James Robinson.
1138
1139         After we acquire the texture layers on the main thread, we can't draw.
1140         In particular if we destroyed the texture ids used previously by
1141         TextureLayerChromium, drawing before a commit would cause a
1142         bind-after-destroy.
1143
1144         Tested by CCLayerTreeHostTestFinishAllRendering.
1145
1146         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1147         (WebCore::CCThreadProxy::CCThreadProxy):
1148         (WebCore::CCThreadProxy::finishAllRenderingOnImplThread):
1149         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
1150
1151 2012-05-21  Joshua Bell  <jsbell@chromium.org>
1152
1153         IndexedDB: Store key paths in IDBKeyPath type instead of String
1154         https://bugs.webkit.org/show_bug.cgi?id=85298
1155
1156         Reviewed by Tony Chang, Kentaro Hara and James Robinson.
1157
1158         Migrate from storing key paths as (nullable) Strings to a dedicated IDBKeyPath
1159         type. Prep work for supporting array-type key paths: http://webkit.org/b/84207
1160
1161         Only functional change is handling of null/undefined parameters for key paths,
1162         to align with IDB spec, covered by layout test.
1163
1164         Test: storage/indexeddb/keypath-basics.html
1165         Test: WebKit/chromium/IDBLevelDBCodingTest.cpp
1166
1167         * Modules/indexeddb/IDBAny.cpp: Allow IDBAny to yield DOMStrings.
1168         (WebCore::IDBAny::createString):
1169         (WebCore):
1170         (WebCore::IDBAny::string):
1171         (WebCore::IDBAny::set):
1172         * Modules/indexeddb/IDBAny.h:
1173         (IDBAny):
1174         * Modules/indexeddb/IDBBackingStore.h: Switch from String to IDBKeyPath.
1175         (IDBBackingStore):
1176         * Modules/indexeddb/IDBDatabase.cpp: Switch from String to IDBKeyPath.
1177         (WebCore::IDBDatabase::createObjectStore):
1178         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Switch from String to IDBKeyPath.
1179         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
1180         (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
1181         * Modules/indexeddb/IDBDatabaseBackendImpl.h: Switch from String to IDBKeyPath.
1182         (IDBDatabaseBackendImpl):
1183         * Modules/indexeddb/IDBDatabaseBackendInterface.h: Switch from String to IDBKeyPath.
1184         (WebCore):
1185         (IDBDatabaseBackendInterface):
1186         * Modules/indexeddb/IDBIndex.h: Switch from String to IDBAny (via IDBKeyPath).
1187         (WebCore::IDBIndex::keyPath):
1188         * Modules/indexeddb/IDBIndex.idl: Switch from DOMString? to IDBAny.
1189         * Modules/indexeddb/IDBIndexBackendImpl.cpp: Switch from String to IDBKeyPath.
1190         (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
1191         * Modules/indexeddb/IDBIndexBackendImpl.h: Switch from String to IDBKeyPath.
1192         (WebCore::IDBIndexBackendImpl::create):
1193         (WebCore::IDBIndexBackendImpl::keyPath):
1194         (IDBIndexBackendImpl):
1195         * Modules/indexeddb/IDBIndexBackendInterface.h: Switch from String to IDBKeyPath.
1196         (WebCore):
1197         (IDBIndexBackendInterface):
1198         * Modules/indexeddb/IDBKeyPath.cpp: Non-trivial method implementations.
1199         (WebCore::IDBKeyPath::isValid):
1200         (WebCore):
1201         (WebCore::IDBKeyPath::operator PassRefPtr<IDBAny>):
1202         * Modules/indexeddb/IDBKeyPath.h: Introduce IDBKeyPath type.
1203         (IDBKeyPath):
1204         (WebCore::IDBKeyPath::IDBKeyPath):
1205         (WebCore::IDBKeyPath::type):
1206         (WebCore::IDBKeyPath::array):
1207         (WebCore::IDBKeyPath::string):
1208         (WebCore::IDBKeyPath::isNull):
1209         (WebCore):
1210         * Modules/indexeddb/IDBKeyPathBackendImpl.cpp: Switch from String to IDBKeyPath.
1211         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
1212         (WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
1213         * Modules/indexeddb/IDBKeyPathBackendImpl.h: Switch from String to IDBKeyPath.
1214         (WebCore):
1215         (IDBKeyPathBackendImpl):
1216         * Modules/indexeddb/IDBLevelDBBackingStore.cpp: Switch from String to IDBKeyPath, with back-compat.
1217         (WebCore):
1218         (WebCore::putIDBKeyPath):
1219         (WebCore::IDBLevelDBBackingStore::getObjectStores):
1220         (WebCore::IDBLevelDBBackingStore::createObjectStore):
1221         (WebCore::IDBLevelDBBackingStore::getIndexes):
1222         (WebCore::IDBLevelDBBackingStore::createIndex):
1223         * Modules/indexeddb/IDBLevelDBBackingStore.h:
1224         (IDBLevelDBBackingStore):
1225         * Modules/indexeddb/IDBLevelDBCoding.cpp: New coding scheme for key paths (with back-compat).
1226         (IDBLevelDBCoding):
1227         (WebCore::IDBLevelDBCoding::encodeIDBKeyPath):
1228         (WebCore::IDBLevelDBCoding::decodeIDBKeyPath):
1229         * Modules/indexeddb/IDBLevelDBCoding.h: Add key-path-specific methods.
1230         (WebCore):
1231         (IDBLevelDBCoding):
1232         * Modules/indexeddb/IDBObjectStore.cpp: Switch from String to IDBKeyPath.
1233         (WebCore::IDBObjectStore::keyPath):
1234         (WebCore::IDBObjectStore::createIndex):
1235         (WebCore):
1236         * Modules/indexeddb/IDBObjectStore.h: Switch from String to IDBAny (via IDBKeyPath).
1237         (IDBObjectStore):
1238         * Modules/indexeddb/IDBObjectStore.idl: Switch from DOMString? to IDBAny.
1239         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Switch from String to IDBKeyPath.
1240         (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
1241         (WebCore::fetchKeyFromKeyPath):
1242         (WebCore::injectKeyIntoKeyPath):
1243         (WebCore::IDBObjectStoreBackendImpl::createIndex):
1244         (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
1245         * Modules/indexeddb/IDBObjectStoreBackendImpl.h: Switch from String to IDBKeyPath.
1246         (WebCore::IDBObjectStoreBackendImpl::create):
1247         (WebCore::IDBObjectStoreBackendImpl::keyPath):
1248         (IDBObjectStoreBackendImpl):
1249         * Modules/indexeddb/IDBObjectStoreBackendInterface.h: Switch from String to IDBKeyPath.
1250         (WebCore):
1251         (IDBObjectStoreBackendInterface):
1252         * bindings/v8/Dictionary.cpp: Add getter for DOMString[] (i.e. Vector<String>)
1253         (WebCore):
1254         (WebCore::Dictionary::get):
1255         * bindings/v8/Dictionary.h:
1256         (Dictionary):
1257         * bindings/v8/IDBBindingUtilities.cpp: Switch from String to IDBKeyPath.
1258         (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
1259         (WebCore::injectIDBKeyIntoSerializedValue):
1260         * bindings/v8/IDBBindingUtilities.h: Switch from String to IDBKeyPath.
1261         (WebCore):
1262         * bindings/v8/custom/V8IDBAnyCustom.cpp: Support String/DOMString.
1263         (WebCore::toV8):
1264         * dom/DOMStringList.h: Allow easy (const) access to strings.
1265         (WebCore::DOMStringList::operator const Vector<String>&):
1266         (DOMStringList):
1267         * inspector/InspectorIndexedDBAgent.cpp: Temporary shim for non-strings: see http://webkit.org/b/84303
1268         (WebCore):
1269         * platform/chromium/PlatformSupport.h: Switch from String to IDBKeyPath.
1270         (WebCore):
1271         (PlatformSupport):
1272         * storage/chromium/IDBKeyPathBackendImpl.cpp: Switch from String to IDBKeyPath.
1273         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
1274         (WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
1275
1276 2012-05-21  Zhenyao Mo  <zmo@google.com>
1277
1278         Restore WebGL's framebuffer binding after DrawingBuffer's prepareBackBuffer()
1279         https://bugs.webkit.org/show_bug.cgi?id=87032
1280
1281         Reviewed by James Robinson.
1282
1283         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1284         (WebCore::DrawingBuffer::prepareBackBuffer): restore the user's framebuffer binding if there is one.
1285
1286 2012-05-21  Ryosuke Niwa  <rniwa@webkit.org>
1287
1288         isStartOfDocument and isEndOfDocument are poorly named
1289         https://bugs.webkit.org/show_bug.cgi?id=86649
1290
1291         Reviewed by Levi Weintraub.
1292
1293         Renamed isEndOfDocument to isEndOfEditableOrNonEditableContent because that's what this function checks.
1294
1295         Also added new versions of isStartOfDocument and isEndOfDocument that correctly cross editing boundaries
1296         to be used in selectFrameElementInParentIfFullySelected.
1297
1298         * editing/CompositeEditCommand.cpp:
1299         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
1300         * editing/Editor.cpp:
1301         (WebCore::Editor::insertLineBreak):
1302         (WebCore::Editor::insertParagraphSeparator):
1303         * editing/ReplaceSelectionCommand.cpp:
1304         (WebCore::ReplaceSelectionCommand::doApply):
1305         * editing/VisibleSelection.cpp:
1306         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
1307         * editing/visible_units.cpp:
1308         (WebCore::isEndOfEditableOrNonEditableContent):
1309         * editing/visible_units.h:
1310
1311 2012-05-21 Anna Cavender  <annacc@chromium.org>
1312
1313         Only render text track cues if kind=captions or kind=subtitles.
1314         https://bugs.webkit.org/show_bug.cgi?id=83321
1315
1316         Reviewed by Eric Carlson.
1317
1318         No new tests. Modification to media/track/track-kind.html
1319
1320         * html/HTMLMediaElement.cpp:
1321         (WebCore::HTMLMediaElement::textTrackKindChanged):
1322            If the kind changes from a 'visible' kind to a 'non-visible' kind,
1323            update the track's mode to HIDDEN.
1324
1325         * html/shadow/MediaControlElements.cpp:
1326         (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
1327             Do not render cues from tracks that are not captions or subtitles.
1328
1329         * html/track/TextTrack.cpp:
1330         (WebCore::TextTrack::setMode):
1331             If the track's mode changes from SHOWING to HIDDEN or DISABLED,
1332             ensure any currently visible cues will no longer be rendered.
1333
1334         * html/track/TextTrackCue.cpp:
1335         (WebCore::TextTrackCue::removeDisplayTree): New method.
1336         * html/track/TextTrackCue.h:
1337         (TextTrackCue):
1338  
1339 2012-05-21  Andreas Kling  <kling@webkit.org>
1340
1341         CSS: Move duplicate property elimination to parser.
1342         <http://webkit.org/b/86948>
1343
1344         Reviewed by Antti Koivisto.
1345
1346         Remove the StylePropertySet constructor that handled elimination of duplicate
1347         properties and move that to a new parser method, CSSParser::filteredProperties().
1348         Call sites are converted to using StylePropertySet(const Vector<CSSProperty>&).
1349
1350         Instead of building a hashmap of seen properties, use the new WTF::BitArray class
1351         to track whether a given property ID has been seen, and whether we have an
1352         !important entry for a given ID.
1353
1354         * css/CSSParser.cpp:
1355         (WebCore::CSSParser::parseValue):
1356         (WebCore::CSSParser::parseDeclaration):
1357         (WebCore::CSSParser::filteredProperties):
1358         (WebCore::CSSParser::createStyleRule):
1359         (WebCore::CSSParser::createFontFaceRule):
1360         (WebCore::CSSParser::createPageRule):
1361         (WebCore::CSSParser::createKeyframe):
1362         * css/CSSParser.h:
1363         * css/StylePropertySet.cpp:
1364         (WebCore::StylePropertySet::StylePropertySet):
1365         (WebCore::StylePropertySet::addParsedProperties):
1366         * css/StylePropertySet.h:
1367         (WebCore::StylePropertySet::create):
1368         (StylePropertySet):
1369         * svg/SVGFontFaceElement.cpp:
1370         (WebCore::SVGFontFaceElement::rebuildFontFace):
1371
1372 2012-05-21  Joshua Bell  <jsbell@chromium.org>
1373
1374         IndexedDB: Index key paths that yield invalid keys should not fail an add/put
1375         https://bugs.webkit.org/show_bug.cgi?id=86122
1376
1377         Reviewed by Tony Chang.
1378
1379         A clause was removed from the IDB spec. Previously, on add/put, if evaluating an
1380         index's key path yielded a value that was not a valid key, an exception would be
1381         raised. Now, it is treated the same as if no value was yielded.
1382
1383         Test: storage/indexeddb/index-basics.html
1384         Test: storage/indexeddb/index-basics-workers.html
1385         Test: storage/indexeddb/objectstore-basics.html
1386         Test: storage/indexeddb/objectstore-basics-workers.html
1387
1388         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
1389         (WebCore::IDBObjectStoreBackendImpl::put): Preconditions removed
1390         (WebCore::IDBObjectStoreBackendImpl::putInternal): Treat invalid keys the same as missing keys.
1391
1392 2012-05-21  Pavel Feldman  <pfeldman@chromium.org>
1393
1394         Web Inspector: refactor revision history to not include resource itself.
1395         https://bugs.webkit.org/show_bug.cgi?id=87026
1396
1397         Reviewed by Vsevolod Vlasov.
1398
1399         This change makes resource contain pure revisions, it stops updating Resources upon free flow editing.
1400
1401         * inspector/front-end/JavaScriptSource.js:
1402         (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent.didFormatContent):
1403         (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent):
1404         (WebInspector.JavaScriptSource.prototype.setFormatted):
1405         * inspector/front-end/JavaScriptSourceFrame.js:
1406         (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
1407         (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
1408         (WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
1409         * inspector/front-end/Resource.js:
1410         (WebInspector.Resource.prototype.addRevision):
1411         (WebInspector.Resource.prototype._innerRequestContent.callback):
1412         (WebInspector.Resource.prototype._innerRequestContent):
1413         (WebInspector.Resource.prototype.revertToOriginal):
1414         (WebInspector.ResourceRevision.prototype.revertToThis):
1415         (WebInspector.ResourceRevision.prototype.requestContent):
1416         (WebInspector.ResourceRevision.prototype.searchInContent):
1417         (WebInspector.ResourceRevision.prototype._persistRevision):
1418         * inspector/front-end/RevisionHistoryView.js:
1419         (WebInspector.RevisionHistoryView):
1420         (WebInspector.RevisionHistoryView.prototype._revisionAdded):
1421         (WebInspector.RevisionHistoryTreeElement):
1422         * inspector/front-end/ScriptSnippetModel.js:
1423         (WebInspector.ScriptSnippetModel.prototype.setScriptSnippetContent):
1424         * inspector/front-end/StylesPanel.js:
1425         (WebInspector.StyleSourceFrame.prototype.commitEditing):
1426         (WebInspector.StyleSourceFrame.prototype._didEditContent):
1427         (WebInspector.StyleSourceFrame.prototype._onContentChanged):
1428         * inspector/front-end/UISourceCode.js:
1429         (WebInspector.UISourceCode.prototype._revisionAdded):
1430         (WebInspector.UISourceCode.prototype.contentChanged):
1431         (WebInspector.UISourceCode.prototype.commitWorkingCopy):
1432         * inspector/front-end/inspector.js:
1433         (WebInspector._doLoadedDoneWithCapabilities.get if):
1434
1435 2012-05-21  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1436
1437         GCC 4.7 and C++11
1438         https://bugs.webkit.org/show_bug.cgi?id=86465
1439
1440         Reviewed by Darin Adler.
1441
1442         Avoid triggering C++11 string literals and use nullptr for correct type casting.
1443
1444         * bindings/js/JSNodeFilterCondition.cpp:
1445         (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
1446         * platform/sql/SQLiteFileSystem.cpp:
1447         (WebCore::SQLiteFileSystem::getFileNameForNewDatabase):
1448
1449 2012-05-18  Michael Nordman  <michaeln@google.com>
1450
1451         [chromium] DomStorage events handling needs TLC (2)
1452         https://bugs.webkit.org/show_bug.cgi?id=85221
1453         Alter the StorageArea virtual interface such that the mutators no longer
1454         return old values. This is to allow implementations of the interface to operate
1455         more asynchronously.
1456
1457         Reviewed by Adam Barth.
1458
1459         No new tests. Existing tests cover this.
1460
1461         * storage/StorageArea.h: Alter the interface so the mutators no longer return previous values
1462         * storage/StorageAreaImpl.cpp:
1463         (WebCore::StorageAreaImpl::disabledByPrivateBrowsingInFrame):  removed an unneeded PLATFORM(CHROMIUM) guard
1464         (WebCore::StorageAreaImpl::setItem): no longer return the old value
1465         (WebCore::StorageAreaImpl::removeItem): no longer return the old value
1466         (WebCore::StorageAreaImpl::clear): no longer return whether something was cleared
1467         * storage/StorageAreaImpl.h: match StorageArea's virtual interface
1468
1469
1470 2012-05-21  MORITA Hajime  <morrita@google.com>
1471
1472         [Refactoring] Node should have youngestShadowRoot.
1473         https://bugs.webkit.org/show_bug.cgi?id=86427
1474
1475         Reviewed by Dimitri Glazkov.
1476
1477         This change adds Node::youngestShadowRoot() and replaced
1478         ElementShadow::youngestShadowRoot() with it if appropriate.
1479
1480         By introducing this, traversal across node and its shadow tree can
1481         look more fluent and idiomatic. There are a few non-trivial traversal
1482         remaining like ElementShadow::recalcStyle() and attach().
1483         But they should be flattened out eventually.
1484
1485         No new tests. Refactoring.
1486
1487         * dom/ContainerNodeAlgorithms.cpp:
1488         (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree):
1489         * dom/Document.cpp:
1490         (WebCore::Document::buildAccessKeyMap):
1491         * dom/ElementShadow.cpp:
1492         * dom/ElementShadow.h:
1493         (ElementShadow):
1494         (WebCore::Node::youngestShadowRoot):
1495         (WebCore):
1496         * dom/Node.h:
1497         (Node):
1498         * dom/TreeScopeAdopter.cpp:
1499         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
1500         (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
1501         * dom/TreeScopeAdopter.h:
1502         (TreeScopeAdopter):
1503         * html/shadow/TextFieldDecorationElement.cpp:
1504         (WebCore::getDecorationRootAndDecoratedRoot):
1505
1506 2012-05-21  Christophe Dumez  <christophe.dumez@intel.com>
1507
1508         Add support for MessagePortArray type to JSC
1509         https://bugs.webkit.org/show_bug.cgi?id=84093
1510
1511         Reviewed by Adam Barth.
1512
1513         Add support for MessagePortArray type to JSC code generator similarly
1514         to what was done for the V8 generator in r114319.
1515
1516         Update bindings test results to reflect to change to the bindings
1517         generator.
1518
1519         * CMakeLists.txt: Add new DeliveredIntent files to CMake.
1520         * bindings/js/JSDOMBinding.h:
1521         (WebCore):
1522         (WebCore::jsArray): Tweak jsArray() so that it accepts MessagePortArray as argument.
1523         * bindings/scripts/CodeGeneratorJS.pm:
1524         (JSValueToNative):
1525         (NativeToJSValue):
1526         * bindings/scripts/test/JS/JSTestObj.cpp:
1527         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
1528         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
1529         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
1530         (WebCore::jsTestSerializedScriptValueInterfacePorts):
1531         (WebCore::setJSTestSerializedScriptValueInterfaceValue):
1532         (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
1533         (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
1534         (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionMultiTransferList):
1535
1536 2012-05-21  Alexander Pavlov  <apavlov@chromium.org>
1537
1538         Web Inspector: [Styles] Cannot tab from selector of inherited rule, which in turn has leading inherited properties
1539         https://bugs.webkit.org/show_bug.cgi?id=87014
1540
1541         Reviewed by Yury Semikhatsky.
1542
1543         * inspector/front-end/StylesSidebarPane.js:
1544         (WebInspector.StylePropertiesSection.prototype._moveEditorFromSelector):
1545
1546 2012-05-21  Greg Billock  <gbillock@google.com>
1547
1548         Add suggestions field to web intents API.
1549         https://bugs.webkit.org/show_bug.cgi?id=86791
1550
1551         Reviewed by Adam Barth.
1552
1553         The |suggestions| field is used by the client to avoid an empty
1554         web intents selection window (picker). The UA can add the given
1555         suggestions to the picker if it would otherwise be empty. See
1556         http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html#intent-parameters-dictionary
1557
1558         * Modules/intents/DeliveredIntent.cpp:
1559         (WebCore::DeliveredIntent::DeliveredIntent):
1560         * Modules/intents/Intent.cpp:
1561         (WebCore::Intent::create):
1562         (WebCore::Intent::Intent):
1563         * Modules/intents/Intent.h:
1564         (WebCore::Intent::suggestions):
1565         (Intent):
1566
1567 2012-05-21  Stephen Chenney  <schenney@chromium.org>
1568
1569         SVGAnimatedPropertyTearOff does not clear a self pointer on deletion
1570         https://bugs.webkit.org/show_bug.cgi?id=86119
1571
1572         Reviewed by Nikolas Zimmermann.
1573
1574         SVGAnimatedPropertyTearOff contains two SVGPropertyTearOff objects
1575         that have a pointer back to the SVGAnimatedPropertyTearOff. JS may
1576         also have a reference to these SVGPropertyTearOff objects. When the
1577         SVGAnimatedPropertyTearOff is deleted, the SVGPropertyTearOff objects
1578         may live on, but the pointer back to the deleted animated property
1579         tear off is left invalid. This patch clears the pointers on destruction
1580         of the SVGAnimatedPropertyTearOff.
1581
1582         Test: svg/custom/bug86119.html
1583
1584         * svg/properties/SVGAnimatedPropertyTearOff.h:
1585         (WebCore::SVGAnimatedPropertyTearOff::~SVGAnimatedPropertyTearOff):
1586         (SVGAnimatedPropertyTearOff):
1587
1588 2012-05-21  Stephen Chenney  <schenney@chromium.org>
1589
1590         [Chromium] REGRESSION: Assertion failure on svg/custom/acid3-test-77.html
1591         https://bugs.webkit.org/show_bug.cgi?id=86715
1592
1593         Reviewed by Nikolas Zimmermann.
1594
1595         Calls to clear the text positioning elements in RenderSVGText must be
1596         protected with a FontCachePurgeProtector so that fonts are not removed
1597         before the SVG metrics are rebuilt. The protection must cover both the
1598         cache clearing and the reconstruction calls.
1599
1600         Patch fixes existing tests.
1601
1602         * rendering/svg/RenderSVGText.cpp:
1603         (WebCore::RenderSVGText::subtreeChildWasAdded):
1604         (WebCore::RenderSVGText::subtreeChildWasRemoved):
1605         (WebCore::RenderSVGText::subtreeTextDidChange):
1606         (WebCore::RenderSVGText::removeChild):
1607
1608 2012-05-21  Stephen Chenney  <schenney@chromium.org>
1609
1610         SVGTextRunRenderingContext can return null font, calling code asserts not null
1611         https://bugs.webkit.org/show_bug.cgi?id=86738
1612
1613         Reviewed by Nikolas Zimmermann.
1614
1615         SVGTextRunRenderingContext::glyphDataForCharacter was returning a glyph with
1616         null font data for numerous code paths. It seems that it was doing so
1617         whenever it detected null fontData, rather than try to continue.
1618         Calling code would then immediately assert on this null fontData.
1619
1620         This patch refactors SVGTextRunRenderingContext::glyphDataForCharacter
1621         so that it never returns null font data, adding an assertion to that
1622         effect. In particular, when the font data is null the code will reach
1623         the fallback glyph calculations.
1624
1625         Refactoring covered by existing tests. A previously crashing test, svg/custom/acid3-test-77.html, no longer crashes.
1626
1627         * rendering/svg/SVGTextRunRenderingContext.cpp:
1628         (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
1629
1630 2012-05-21  Ilya Tikhonovsky  <loislo@chromium.org>
1631
1632         Web Inspector: switch buildDominatedNodes function to front-end calculated _dominatorsTree
1633         https://bugs.webkit.org/show_bug.cgi?id=87022
1634
1635         The new version is using _dominatorsTree array that was build at front-end.
1636
1637         Reviewed by Yury Semikhatsky.
1638
1639         * inspector/front-end/HeapSnapshot.js:
1640         (WebInspector.HeapSnapshot.prototype._init):
1641         (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
1642
1643 2012-05-21  Pavel Feldman  <pfeldman@chromium.org>
1644
1645         Web Inspector: change WebCore/English.lproj/locallizedStrings encoding from UTF-16 to UTF-8.
1646         https://bugs.webkit.org/show_bug.cgi?id=86822
1647
1648         Reviewed by Yury Semikhatsky.
1649
1650         * English.lproj/localizedStrings.js:
1651
1652 2012-05-21  Vsevolod Vlasov  <vsevik@chromium.org>
1653
1654         Web Inspector: Move working copy support to UISourceCode and use it for both styles and scripts.
1655         https://bugs.webkit.org/show_bug.cgi?id=87021
1656
1657         Reviewed by Pavel Feldman.
1658
1659         UISourceCode now listens for RevisionAdded event.
1660         Virtual methods workingCopyChanged and workingCopyCommitted added to UISourceCode and implemented in descendants.
1661         DebuggerResourceBinding does not call contentChanged on UISourceCode explicitly anymore.
1662
1663         * inspector/front-end/DebuggerResourceBinding.js:
1664         (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource):
1665         (WebInspector.DebuggerResourceBinding.setScriptSource):
1666         * inspector/front-end/JavaScriptSource.js:
1667         (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
1668         * inspector/front-end/JavaScriptSourceFrame.js:
1669         (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
1670         * inspector/front-end/ScriptSnippetModel.js:
1671         (WebInspector.SnippetJavaScriptSource.prototype.workingCopyCommitted):
1672         * inspector/front-end/StylesPanel.js:
1673         (WebInspector.StyleSource.prototype.workingCopyCommitted):
1674         (WebInspector.StyleSource.prototype.workingCopyChanged):
1675         (WebInspector.StyleSourceFrame):
1676         (WebInspector.StyleSourceFrame.prototype.commitEditing):
1677         (WebInspector.StyleSourceFrame.prototype.afterTextChanged):
1678         (WebInspector.StyleSourceFrame.prototype._didEditContent):
1679         (WebInspector.StyleSourceFrame.prototype._onContentChanged):
1680         * inspector/front-end/UISourceCode.js:
1681         (WebInspector.UISourceCode):
1682         (WebInspector.UISourceCode.prototype._revisionAdded):
1683         (WebInspector.UISourceCode.prototype.contentChanged):
1684         (WebInspector.UISourceCode.prototype.workingCopy):
1685         (WebInspector.UISourceCode.prototype.setWorkingCopy):
1686         (WebInspector.UISourceCode.prototype.workingCopyChanged):
1687         (WebInspector.UISourceCode.prototype.commitWorkingCopy):
1688         (WebInspector.UISourceCode.prototype.workingCopyCommitted):
1689
1690 2012-05-21  Andrey Kosyakov  <caseq@chromium.org>
1691
1692         Web Inspector: [refactoring] promote fill/border colors used by timeline's frame overview to TimelineCategory
1693         https://bugs.webkit.org/show_bug.cgi?id=87016
1694
1695         Reviewed by Pavel Feldman.
1696
1697         - drop unused 'color' field from TimelineCategory;
1698         - add borderColor and fillColorStop[0-1] to TimelineCategory;
1699         - fix style in a handful of places.
1700
1701         Note we store textual values for color stops, not premade gradients so we can build gradients with different
1702         orientations rather than transforming a gradient.
1703
1704         * inspector/front-end/TimelineOverviewPane.js:
1705         (WebInspector.HeapGraph):
1706         (WebInspector.HeapGraph.prototype.get element):
1707         (WebInspector.HeapGraph.prototype.get visible):
1708         (WebInspector.HeapGraph.prototype.show):
1709         (WebInspector.HeapGraph.prototype.hide):
1710         (WebInspector.HeapGraph.prototype._clear):
1711         (WebInspector.TimelineCategoryStrips):
1712         (WebInspector.TimelineVerticalOverview):
1713         (WebInspector.TimelineVerticalOverview.prototype._renderBar):
1714         * inspector/front-end/TimelinePresentationModel.js:
1715         (WebInspector.TimelinePresentationModel.categories):
1716         (WebInspector.TimelinePresentationModel.recordStyle):
1717         (WebInspector.TimelineCategory):
1718
1719 2012-05-21  'Pavel Feldman'  <pfeldman@chromium.org>
1720
1721         Web Inspector: declare setFormatted on UISourceCode (otherwise fails for styles).
1722
1723         Not reviewed: front-end fix as a follow up to r117751.
1724
1725         * inspector/front-end/UISourceCode.js:
1726         (WebInspector.UISourceCode.prototype.consoleMessagesCleared):
1727         (WebInspector.UISourceCode.prototype.setFormatted):
1728
1729 2012-05-21  Yury Semikhatsky  <yurys@chromium.org>
1730
1731         Unreviewed. Fix Closure compiler error after r117753.
1732
1733         * inspector/front-end/HeapSnapshotGridNodes.js:
1734         (WebInspector.HeapSnapshotConstructorNode.prototype.revealNodeBySnapshotObjectId.didGetNodePosition):
1735
1736 2012-05-21  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1737
1738         Move setEditingBehavior() from layoutTestController to window.internals
1739         https://bugs.webkit.org/show_bug.cgi?id=42689
1740
1741         Reviewed by Hajime Morita and Kenneth Rohde Christiansen.
1742
1743         Add setEditingBehavior() to window.internals.settings. No new tests, but this
1744         change will allow more tests to run in WebKitTestRunner.
1745
1746         * testing/InternalSettings.cpp:
1747         (WebCore::InternalSettings::InternalSettings):
1748         (WebCore::InternalSettings::restoreTo):
1749         (WebCore::InternalSettings::setEditingBehavior):
1750         (WebCore):
1751         * testing/InternalSettings.h:
1752         (InternalSettings):
1753         * testing/InternalSettings.idl:
1754
1755 2012-05-21  Vsevolod Vlasov  <vsevik@chromium.org>
1756
1757         Web Inspector: Temporary UISourceCode should be replaced each time another inline script is added in RawSourceCode with pending request.
1758         https://bugs.webkit.org/show_bug.cgi?id=87003
1759
1760         Reviewed by Pavel Feldman.
1761
1762         This is needed to correctly show document content when debugger stops on several breakpoints in different scripts during page load.
1763
1764         * inspector/front-end/RawSourceCode.js:
1765         (WebInspector.RawSourceCode.prototype.addScript):
1766         (WebInspector.RawSourceCode.prototype._finishedLoading):
1767
1768 2012-05-20  Kinuko Yasuda  <kinuko@chromium.org>
1769
1770         Cleanup: Remove WebCore::revealFolderInOS() which is no longer used anywhere
1771         https://bugs.webkit.org/show_bug.cgi?id=86993
1772
1773         Reviewed by Adam Barth.
1774
1775         No new tests as this must be just removing dead code.
1776
1777         * platform/FileSystem.h:
1778         * platform/chromium/FileSystemChromium.cpp:
1779         * platform/chromium/PlatformSupport.h:
1780         (PlatformSupport):
1781
1782 2012-05-21  Alexander Pavlov  <apavlov@chromium.org>
1783
1784         Web Inspector: Annotate CSSStyleModel.js for the closure compiler
1785         https://bugs.webkit.org/show_bug.cgi?id=86858
1786
1787         Reviewed by Yury Semikhatsky.
1788
1789         * inspector/front-end/CSSStyleModel.js:
1790         (WebInspector.CSSStyleDeclaration.parseComputedStylePayload):
1791         (WebInspector.CSSStyleDeclaration.prototype.newBlankProperty):
1792         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
1793         (WebInspector.CSSProperty.parsePayload):
1794         (WebInspector.CSSProperty.prototype.setText):
1795         (WebInspector.CSSProperty.prototype.setDisabled):
1796         (WebInspector.CSSStyleSheet.prototype.setText):
1797         (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent.callbackWrapper):
1798         (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent):
1799         (WebInspector.CSSStyleModelResourceBinding.prototype._loadStyleSheetHeaders):
1800
1801 2012-05-21  Rakesh KN  <rakesh.kn@motorola.com>
1802
1803         [Forms] Refactor HTMLFormCollection
1804         https://bugs.webkit.org/show_bug.cgi?id=86602
1805
1806         Reviewed by Kent Tamura.
1807
1808         Modify HTMLFormCollection to be independent of HTMLFormElement which is needed
1809         for implementing HTMLFieldSetElement's element attribute.
1810
1811         Covered by existing tests.
1812
1813         * html/HTMLFormCollection.cpp:
1814         (WebCore::HTMLFormCollection::HTMLFormCollection):
1815         Modified to take more generic HTMLElement* instead of HTMLFormElement* so that
1816         HTMLFormCollection for HTMLFieldSetElement can also be created.
1817         (WebCore::HTMLFormCollection::create): Ditto.
1818         (WebCore::HTMLFormCollection::formControlElements):
1819         Helper function for getting the array of FormAssociatedElements for this form.
1820         (WebCore::HTMLFormCollection::formImageElements):
1821         Helper function for getting the array of image elements for this form.
1822         (WebCore::HTMLFormCollection::numberOfFormControlElements):
1823         Helper function for getting the number of elements in this form.
1824         (WebCore::HTMLFormCollection::calcLength):
1825         Modified to use new helper functions defined for getting the FormAssociatedElements
1826         and image elements array instead of static_cast to HTMLFormElement.
1827         (WebCore::HTMLFormCollection::item): Ditto.
1828         (WebCore::HTMLFormCollection::getNamedFormItem): Ditto.
1829         (WebCore::HTMLFormCollection::updateNameCache): Ditto.
1830         * html/HTMLFormCollection.h:
1831         (WebCore):
1832         (HTMLFormCollection):
1833         * html/HTMLFormElement.h:
1834         (WebCore::HTMLFormElement::imageElements):
1835         New accessor for image elements array of form element.
1836         Also HTMLFormCollection is not needed to be friend of HTMLFormElement as collection
1837         does not access the form element memebers directly now.
1838
1839 2012-05-21  Yury Semikhatsky  <yurys@chromium.org>
1840
1841         Web Inspector: expand only neighbors of the highlighted node when revealing it in heap snapshot
1842         https://bugs.webkit.org/show_bug.cgi?id=86998
1843
1844         Reviewed by Pavel Feldman.
1845
1846         Only nearest nodes are expanded when a node is revealed in heap snapshot
1847         summary view.
1848
1849         * inspector/front-end/HeapSnapshotDataGrids.js:
1850         (WebInspector.HeapSnapshotSortableDataGrid.prototype.highlightNode):
1851         (WebInspector.HeapSnapshotViewportDataGrid.prototype.highlightNode):
1852         (WebInspector.HeapSnapshotViewportDataGrid.prototype._isScrolledIntoView):
1853         * inspector/front-end/HeapSnapshotGridNodes.js:
1854         (WebInspector.HeapSnapshotConstructorNode.prototype.revealNodeBySnapshotObjectId):
1855         (WebInspector.HeapSnapshotConstructorNode.prototype.revealNodeBySnapshotObjectId.didGetNodePosition):
1856         * inspector/front-end/ProfilesPanel.js:
1857         (WebInspector.ProfilesPanel.prototype.showProfile):
1858
1859 2012-05-21  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1860
1861         [EFL] PlatformKeyboardEventEfl is missing ESC key handling.
1862         https://bugs.webkit.org/show_bug.cgi?id=86837
1863
1864         Reviewed by Kenneth Rohde Christiansen.
1865
1866         Added ESC key handling.
1867
1868         * platform/efl/EflKeyboardUtilities.cpp:
1869         (WebCore::createKeyMap):
1870         (WebCore::singleCharacterString):
1871
1872 2012-05-21  Pavel Feldman  <pfeldman@chromium.org>
1873
1874         Web Inspector: move sources panel out of experimental.
1875         https://bugs.webkit.org/show_bug.cgi?id=86997
1876
1877         Reviewed by Yury Semikhatsky.
1878
1879         This change moves sources panel out of experimental, removes revision support from the resources panel.
1880
1881         * English.lproj/localizedStrings.js:
1882         * inspector/front-end/JavaScriptSourceFrame.js:
1883         (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
1884         (WebInspector.JavaScriptSourceFrame.prototype._continueToLine):
1885         * inspector/front-end/ResourceView.js:
1886         * inspector/front-end/ResourcesPanel.js:
1887         (WebInspector.ResourcesPanel.prototype._showResourceView):
1888         (WebInspector.FrameTreeElement.prototype.appendResource):
1889         (WebInspector.FrameResourceTreeElement):
1890         (WebInspector.FrameResourceTreeElement.prototype.sourceView):
1891         * inspector/front-end/ScriptsNavigator.js:
1892         (WebInspector.ScriptsNavigator):
1893         * inspector/front-end/ScriptsPanel.js:
1894         (WebInspector.ScriptsPanel.prototype.get toolbarItemLabel):
1895         (WebInspector.ScriptsPanel.prototype.appendApplicableItems):
1896         * inspector/front-end/Settings.js:
1897         (WebInspector.ExperimentsSettings):
1898         * inspector/front-end/SourceFrame.js:
1899         (WebInspector.SourceFrame.prototype._setTextViewerDecorations):
1900         * inspector/front-end/textViewer.css:
1901         * inspector/front-end/utilities.js:
1902
1903 2012-05-21  Pavel Feldman  <pfeldman@chromium.org>
1904
1905         Web Inspector: implement revision history view.
1906         https://bugs.webkit.org/show_bug.cgi?id=86966
1907
1908         Reviewed by Yury Semikhatsky.
1909
1910         Added revision view into the drawer. It now lists all the revisions
1911         along with the inline diffs. Once source panel is enabled by default,
1912         this view will completely substitute the one in the resources panel.
1913         See the screenshot attached. View is updated when revisions are added
1914         and when editor view is switched.
1915
1916         * English.lproj/localizedStrings.js:
1917         * WebCore.gypi:
1918         * WebCore.vcproj/WebCore.vcproj:
1919         * inspector/compile-front-end.py:
1920         * inspector/front-end/AdvancedSearchController.js:
1921         (WebInspector.FileBasedSearchResultsPane.prototype._appendSearchMatches):
1922         * inspector/front-end/ContextMenu.js:
1923         (WebInspector.ContextMenu.prototype._itemSelected):
1924         (WebInspector.ContextMenu.prototype.appendApplicableItems):
1925         (WebInspector.ContextMenu.Provider.prototype.appendApplicableItems):
1926         (WebInspector.ContextMenu.registerProvider):
1927         * inspector/front-end/JavaScriptSourceFrame.js:
1928         (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
1929         * inspector/front-end/Resource.js:
1930         (WebInspector.ResourceRevision.prototype.revertToThis):
1931         * inspector/front-end/RevisionHistoryView.js: Added.
1932         (WebInspector.RevisionHistoryView):
1933         (WebInspector.RevisionHistoryView.showHistory):
1934         (WebInspector.RevisionHistoryView.uiSourceCodeSelected):
1935         (WebInspector.RevisionHistoryView.prototype._revisionAdded):
1936         (WebInspector.RevisionHistoryView.prototype._onclose):
1937         (WebInspector.RevisionHistoryTreeElement.else.revert):
1938         (WebInspector.RevisionHistoryTreeElement):
1939         (WebInspector.RevisionHistoryTreeElement.prototype.onexpand.step1):
1940         (WebInspector.RevisionHistoryTreeElement.prototype.onexpand.step2):
1941         (WebInspector.RevisionHistoryTreeElement.prototype.onexpand):
1942         (WebInspector.RevisionHistoryTreeElement.prototype._createLine):
1943         (WebInspector.RevisionHistoryTreeElement.prototype._diff.popsym):
1944         (WebInspector.RevisionHistoryTreeElement.prototype._diff):
1945         * inspector/front-end/ScriptsPanel.js:
1946         (WebInspector.ScriptsPanel.prototype._editorSelected):
1947         (WebInspector.ScriptsPanel.prototype.registerUISourceCodeProvider):
1948         (WebInspector.ScriptsPanel.prototype._showLocalHistory):
1949         (WebInspector.ScriptsPanel.prototype.appendApplicableItems):
1950         * inspector/front-end/StylesPanel.js:
1951         (WebInspector.StyleSourceFrame.prototype._contentChanged):
1952         (WebInspector.StyleSourceFrame.prototype.populateTextAreaContextMenu):
1953         * inspector/front-end/WebKit.qrc:
1954         * inspector/front-end/inspector.css:
1955         (#search-results-pane-file-based .search-result):
1956         (#search-results-pane-file-based .search-result:hover):
1957         (#search-results-pane-file-based .search-match:hover):
1958         (#search-results-pane-file-based .search-match .search-match-content):
1959         * inspector/front-end/inspector.html:
1960         * inspector/front-end/scriptsPanel.css:
1961         (.outline-disclosure.revision-history-drawer):
1962         (.outline-disclosure.revision-history-drawer ol):
1963         (.outline-disclosure.revision-history-drawer > ol):
1964         (.outline-disclosure.revision-history-drawer li):
1965         (.outline-disclosure.revision-history-drawer li.parent):
1966         (.revision-history-link):
1967         (.outline-disclosure.revision-history-drawer .revision-history-line):
1968         (.revision-history-drawer .webkit-line-number):
1969         (.revision-history-line-added):
1970         (.revision-history-line-removed):
1971         * inspector/front-end/textViewer.css:
1972         (.webkit-added-line.webkit-line-number):
1973         (.webkit-removed-line.webkit-line-number):
1974         (.webkit-changed-line.webkit-line-number):
1975
1976 2012-05-18  Ilya Tikhonovsky  <loislo@chromium.org>
1977
1978         Web Inspector: upstream build dominators tree procedure from v8.
1979         https://bugs.webkit.org/show_bug.cgi?id=86640
1980
1981         The idea is to reduce transfer size and move all the post-processing steps to the front-end.
1982         The JS implementation is ~1.5 times slower.
1983
1984         Reviewed by Yury Semikhatsky.
1985
1986         Covered by existing tests and performance tests.
1987
1988         * inspector/front-end/HeapSnapshot.js:
1989         (WebInspector.HeapSnapshot.prototype._init):
1990         (WebInspector.HeapSnapshot.prototype._buildAggregates):
1991         (WebInspector.HeapSnapshot.prototype._buildPostOrderIndex):
1992         (WebInspector.HeapSnapshot.prototype._buildDominatorTree):
1993         (WebInspector.HeapSnapshot.prototype._markPageOwnedNodes):
1994         (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
1995         (WebInspector.HeapSnapshot.prototype._calculateFlags):
1996
1997 2012-05-21  Mike Lawther  <mikelawther@chromium.org>
1998
1999         Crash in -webkit-calc
2000         https://bugs.webkit.org/show_bug.cgi?id=86954
2001
2002         Reviewed by Abhishek Arya.
2003
2004         Ensure that both ends of a blend are checked for being Calculated. The current
2005         check did not cover the case where the 'from' end was Calculated and nonzero,
2006         and the 'to' end was zero and not Calculated. 
2007
2008         Blending doesn't work with calculated expressions and is being tracked in
2009         bug http://webkit.org/b/86160
2010
2011         Tests: css3/calc/transition-crash3.html
2012                css3/calc/transition-crash4.html
2013
2014         * platform/Length.h:
2015         (WebCore::Length::blend):
2016
2017 2012-05-21  Pavel Feldman  <pfeldman@chromium.org>
2018
2019         Web Inspector: make search results view more dense
2020         https://bugs.webkit.org/show_bug.cgi?id=86937
2021
2022         Reviewed by Yury Semikhatsky.
2023
2024         - moved search field to the 'drawer status bar'
2025         - search view is now shown on scripts panel only
2026         - switching from the scripts panel closes the search view
2027         - beautified the looks (see the screenshot)
2028
2029         * English.lproj/localizedStrings.js:
2030         * inspector/front-end/AdvancedSearchController.js:
2031         (WebInspector.AdvancedSearchController.prototype.handleShortcut):
2032         (WebInspector.AdvancedSearchController.prototype.show):
2033         (WebInspector.AdvancedSearchController.prototype.close):
2034         (WebInspector.SearchView):
2035         (WebInspector.FileBasedSearchResultsPane):
2036         * inspector/front-end/ScriptsPanel.js:
2037         (WebInspector.ScriptsPanel.prototype.willHide):
2038         * inspector/front-end/externs.js:
2039         (WebInspector.showViewInDrawer):
2040         (WebInspector.closeViewInDrawer):
2041         * inspector/front-end/inspector.css:
2042         (.search-drawer-header input[type="search"].search-config-search):
2043         (.search-drawer-header label.search-config-label):
2044         (.search-drawer-header input[type="checkbox"].search-config-checkbox):
2045         (body:not(.platform-mac) .search-drawer-header input[type="checkbox"].search-config-checkbox):
2046         (body.platform-mac .search-drawer-header input[type="checkbox"].search-config-checkbox):
2047         (.drawer-header):
2048         (.drawer-header-close-button):
2049         (.drawer-header-close-button:hover):
2050         (.drawer-header-close-button:active):
2051         (.search-view .search-results):
2052         (#search-results-pane-file-based li):
2053         (#search-results-pane-file-based ol):
2054         (#search-results-pane-file-based ol.children):
2055         (#search-results-pane-file-based ol.children.expanded):
2056         (#search-results-pane-file-based li.parent::before):
2057         (#search-results-pane-file-based li.parent.expanded::before):
2058         (#search-results-pane-file-based .search-result):
2059         (#search-results-pane-file-based .show-more-matches):
2060         * inspector/front-end/inspector.js:
2061         (WebInspector.showViewInDrawer.closeButtonPressed):
2062         (WebInspector.showViewInDrawer):
2063         (WebInspector.closeViewInDrawer):
2064         (WebInspector.postDocumentKeyDown):
2065
2066 2012-05-18  Andreas Kling  <kling@webkit.org>
2067
2068         REGRESSION(r117501): IconDatabase asserts on startup in synchronousIconForPageURL().
2069         <http://webkit.org/b/86935>
2070         <rdar://problem/11480012>
2071
2072         Reviewed by Anders Carlsson.
2073
2074         - Correctly set m_retainOrReleaseIconRequested to true in retainIconForPageURL().
2075           This was causing the assertions, as we would end up doing nothing until the first
2076           icon release request came in.
2077
2078         - Require that m_urlsToRetainOrReleaseLock be held when accessing m_retainOrReleaseIconRequested.
2079           This removes a possible race condition in double checked locking.
2080
2081         - Swap over the retain/release work queues while holding m_urlsToRetainOrReleaseLock
2082           and release it right away to avoid sitting on the lock while updating the database.
2083
2084         * loader/icon/IconDatabase.cpp:
2085         (WebCore::IconDatabase::synchronousIconForPageURL):
2086         (WebCore::IconDatabase::retainIconForPageURL):
2087         (WebCore::IconDatabase::releaseIconForPageURL):
2088         (WebCore::IconDatabase::retainedPageURLCount):
2089         (WebCore::IconDatabase::performURLImport):
2090         (WebCore::IconDatabase::syncThreadMainLoop):
2091         (WebCore::IconDatabase::performPendingRetainAndReleaseOperations):
2092         * loader/icon/IconDatabase.h:
2093         (IconDatabase):
2094
2095 2012-05-21  Kent Tamura  <tkent@chromium.org>
2096
2097         Unreviewed, build fix.
2098
2099         * html/StepRange.cpp:
2100         (WebCore::StepRange::parseStep): Remove bogus asssetions.
2101
2102 2012-05-21  Kent Tamura  <tkent@chromium.org>
2103
2104         Unreviewed, build fix.
2105
2106         * html/StepRange.cpp:
2107         (WebCore::StepRange::StepRange): Remove another ASSERT_NOT_REACHED.
2108
2109 2012-05-21  Kent Tamura  <tkent@chromium.org>
2110
2111         Unreviewed, build fix.
2112
2113         * html/StepRange.h:
2114         (WebCore::StepRange::StepDescription::StepDescription):
2115         Remove ASSERT_NOT_REACHED.
2116
2117 2012-05-21  Yoshifumi Inoue  <yosin@chromium.org>
2118
2119         [Forms] Move numeric related methods in HTMLInputElement class to another place
2120         https://bugs.webkit.org/show_bug.cgi?id=82034
2121
2122         Reviewed by Kent Tamura.
2123
2124         This patch moves step and range related methods into StepRange class
2125         for ease of using step calculation other than double floating point
2126         number arithmetic, e.g. decimal, long double, and so on.
2127
2128         New class StepRange::StepDescription holds values for calculating
2129         stepped value, defaultStep, defaultStepBase, integer rounding flags,
2130         step scale factor instead of virtual methods in InputType class.
2131
2132         No new tests because of this patch doesn't change behavior.
2133
2134         * WebCore.xcodeproj/project.pbxproj: Set attribute of StepRange.h to "Private" for including it in HTMLInputElement.cpp.
2135         * html/BaseDateAndTimeInputType.cpp:
2136         (WebCore::InputType::rangeOverflow): Moved to use InputType class.
2137         (WebCore::InputType::rangeUnderflow): Moved to use InputType class.
2138         (WebCore::BaseDateAndTimeInputType::stepMismatch): Moved to use stepRange.
2139         * html/BaseDateAndTimeInputType.h:
2140         (BaseDateAndTimeInputType): Removed method declaration for stepBase.
2141         * html/DateInputType.cpp:
2142         (WebCore::DateInputType::setupStepRange): Added.
2143         * html/DateInputType.h:
2144         (DateInputType): Removed method declarations.
2145         * html/DateTimeInputType.cpp:
2146         (WebCore::DateTimeInputType::defaultStep): Removed.
2147         (WebCore::DateTimeInputType::maximum): Removed.
2148         (WebCore::DateTimeInputType::minimum): Removed.
2149         (WebCore::DateTimeInputType::setupStepRange): Added
2150         (WebCore::DateTimeInputType::stepScaleFactor): Removed.
2151         * html/DateTimeInputType.h:
2152         (DateTimeInputType): Removed deprecated method declarations.
2153         * html/DateTimeLocalInputType.cpp:
2154         (WebCore::DateTimeLocalInputType::defaultStep): Removed.
2155         (WebCore::DateTimeLocalInputType::maximum): Removed.
2156         (WebCore::DateTimeLocalInputType::minimum): Removed.
2157         (WebCore::DateTimeLocalInputType::setupStepRange): Added.
2158         (WebCore::DateTimeLocalInputType::stepScaleFactor): Removed.
2159         * html/DateTimeLocalInputType.h:
2160         (DateTimeLocalInputType):
2161         * html/HTMLInputElement.cpp:
2162         (WebCore::HTMLInputElement::isInRange): Changed to call InputType::isInRange.
2163         (WebCore::HTMLInputElement::isOutOfRange): Changed to call InputType::isOutOfRange.
2164         (WebCore::HTMLInputElement::setupStepRange): Added.
2165         * html/HTMLInputElement.h:
2166         (HTMLInputElement):
2167         * html/InputType.cpp:
2168         (WebCore::InputType::acceptableError): Moved to StepRange class.
2169         (WebCore::InputType::alignValueForStep): Moved to StepRange class.
2170         (WebCore::InputType::minimum): Changed to use StepRange class.
2171         (WebCore::InputType::maximum): Changed to use StepRange class.
2172         (WebCore::InputType::parseToDouble): Changed to have ASSERT_NOT_REACHED.
2173         (WebCore::InputType::stepBaseWithDecimalPlaces): Changed to use StepRange class.
2174         (WebCore::InputType::validationMessage):  Changed to use StepRange class.
2175         (WebCore::InputType::applyStep):  Changed to use StepRange class.
2176         (WebCore::InputType::getAllowedValueStep):  Changed to use StepRange class.
2177         (WebCore::InputType::isInRange): Added.
2178         (WebCore::InputType::isOutOfRange): Added.
2179         (WebCore::InputType::rangeOverflow): Changed to use StepRange class.
2180         (WebCore::InputType::rangeUnderflow): Changed to use StepRange class.
2181         (WebCore::InputType::setupStepRange): Added.
2182         (WebCore::InputType::stepUpFromRenderer):  Changed to use StepRange class.
2183         (WebCore::InputType::stepMismatch): Changed to use StepRange class.
2184         * html/InputType.h:
2185         (InputType):
2186         * html/MonthInputType.cpp:
2187         (WebCore::MonthInputType::defaultStep): Removed.
2188         (WebCore::MonthInputType::maximum): Removed.
2189         (WebCore::MonthInputType::minimum): Removed.
2190         (WebCore::MonthInputType::setupStepRange): Added.
2191         (WebCore::MonthInputType::stepScaleFactor): Removed.
2192         * html/MonthInputType.h:
2193         (MonthInputType):
2194         * html/NumberInputType.cpp:
2195         (WebCore):
2196         (WebCore::NumberInputType::defaultStep): Removed.
2197         (WebCore::NumberInputType::maximum): Removed.
2198         (WebCore::NumberInputType::minimum): Removed.
2199         (WebCore::NumberInputType::rangeOverflow): Moved to InputType class.
2200         (WebCore::NumberInputType::rangeUnderflow): Moved to InputType class.
2201         (WebCore::NumberInputType::setupStepRange): Added.
2202         (WebCore::NumberInputType::stepMismatch): Moved to InputType class.
2203         (WebCore::NumberInputType::stepBaseWithDecimalPlaces): Changed to use StepRange class.
2204         (WebCore::NumberInputType::stepScaleFactor): Removed.
2205         * html/NumberInputType.h:
2206         (NumberInputType):
2207         * html/RangeInputType.cpp:
2208         (WebCore::RangeInputType::defaultStep): Removed.
2209         (WebCore::RangeInputType::maximum): Removed.
2210         (WebCore::RangeInputType::minimum): Removed.
2211         (WebCore::RangeInputType::setupStepRange): Added.
2212         (WebCore::RangeInputType::stepScaleFactor): Removed.
2213         (WebCore::RangeInputType::handleKeydownEvent): Changed to use StepRange class.
2214         (WebCore::RangeInputType::fallbackValue): Changed to use StepRange class.
2215         (WebCore::RangeInputType::sanitizeValue): Changed to use StepRange class.
2216         * html/RangeInputType.h:
2217         (RangeInputType):
2218         * html/StepRange.cpp:
2219         (WebCore::StepRange::StepRange): Added.
2220         (WebCore::StepRange::clampValue): Changed for member variable name changes.
2221         (WebCore::StepRange::hasStep): Added.
2222         (WebCore::StepRange::maximum): Added.
2223         (WebCore::StepRange::minimum): Added.
2224         (WebCore::StepRange::step): Added.
2225         (WebCore::StepRange::stepBase): Added.
2226         (WebCore::StepRange::stepDecimalPlaces): Added.
2227         (WebCore::StepRange::stepScaleFactor): Added.
2228         (WebCore::StepRange::setHasStep): Added.
2229         (WebCore::StepRange::setup): Added.
2230         (WebCore::StepRange::parse): Added.
2231         * html/StepRange.h:
2232         (StepDescription): Added
2233         (WebCore::StepRange::StepDescription::StepDescription):
2234         (WebCore::StepRange::acceptableError): Moved from InputType class.
2235         (WebCore::StepRange::alignValueForStep): Moved from InputType class.
2236         (WebCore::StepRange::defaultValue): Changed for member variable name changes.
2237         (WebCore::StepRange::proportionFromValue): Changed for member variable name changes.
2238         (WebCore::StepRange::valueFromProportion): Changed for member variable name changes.
2239         * html/TimeInputType.cpp:
2240         (WebCore::TimeInputType::defaultStep): Removed.
2241         (WebCore::TimeInputType::maximum): Removed.
2242         (WebCore::TimeInputType::minimum): Removed.
2243         (WebCore::TimeInputType::setupStepRange): Added.
2244         (WebCore::TimeInputType::stepScaleFactor): Removed.
2245         * html/TimeInputType.h:
2246         (TimeInputType):
2247         * html/WeekInputType.cpp:
2248         (WebCore):
2249         (WebCore::WeekInputType::defaultStep): Removed.
2250         (WebCore::WeekInputType::maximum): Removed.
2251         (WebCore::WeekInputType::minimum): Removed.
2252         (WebCore::WeekInputType::setupStepRange): Added.
2253         (WebCore::WeekInputType::stepScaleFactor): Removed.
2254         * html/WeekInputType.h:
2255         (WeekInputType):
2256         * html/shadow/SliderThumbElement.cpp:
2257         (WebCore::sliderPosition): Changed to use StepRange class.
2258         (WebCore::SliderThumbElement::setPositionFromPoint): Changed to use StepRange class.
2259
2260 2012-05-21  Kentaro Hara  <haraken@chromium.org>
2261
2262         [V8] Pass Isolate to throwNotEnoughArgumentsError()
2263         https://bugs.webkit.org/show_bug.cgi?id=86983
2264
2265         Reviewed by Adam Barth.
2266
2267         The objective is to pass Isolate around in V8 bindings.
2268         This patch passes Isolate to throwNotEnoughArgumentsError().
2269
2270         No tests. No change in behavior.
2271
2272         * bindings/scripts/CodeGeneratorV8.pm:
2273         (GenerateArgumentsCountCheck):
2274         (GenerateEventConstructorCallback):
2275         * bindings/scripts/test/V8/V8Float64Array.cpp:
2276         (WebCore::Float64ArrayV8Internal::fooCallback):
2277         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2278         (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
2279         (WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):
2280         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2281         (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):
2282         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2283         (WebCore::V8TestEventConstructor::constructorCallback):
2284         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2285         (WebCore::TestEventTargetV8Internal::itemCallback):
2286         (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
2287         * bindings/scripts/test/V8/V8TestInterface.cpp:
2288         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
2289         (WebCore::V8TestInterface::constructorCallback):
2290         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2291         (WebCore::TestMediaQueryListListenerV8Internal::methodCallback):
2292         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2293         (WebCore::V8TestNamedConstructorConstructorCallback):
2294         * bindings/scripts/test/V8/V8TestObj.cpp:
2295         (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
2296         (WebCore::TestObjV8Internal::intMethodWithArgsCallback):
2297         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
2298         (WebCore::TestObjV8Internal::methodWithSequenceArgCallback):
2299         (WebCore::TestObjV8Internal::methodReturningSequenceCallback):
2300         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
2301         (WebCore::TestObjV8Internal::serializedValueCallback):
2302         (WebCore::TestObjV8Internal::idbKeyCallback):
2303         (WebCore::TestObjV8Internal::optionsObjectCallback):
2304         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgCallback):
2305         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
2306         (WebCore::TestObjV8Internal::methodWithCallbackArgCallback):
2307         (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
2308         (WebCore::TestObjV8Internal::overloadedMethod1Callback):
2309         (WebCore::TestObjV8Internal::overloadedMethod2Callback):
2310         (WebCore::TestObjV8Internal::overloadedMethod3Callback):
2311         (WebCore::TestObjV8Internal::overloadedMethod4Callback):
2312         (WebCore::TestObjV8Internal::overloadedMethod5Callback):
2313         (WebCore::TestObjV8Internal::overloadedMethod6Callback):
2314         (WebCore::TestObjV8Internal::overloadedMethod7Callback):
2315         (WebCore::TestObjV8Internal::overloadedMethod11Callback):
2316         (WebCore::TestObjV8Internal::overloadedMethod12Callback):
2317         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Callback):
2318         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Callback):
2319         (WebCore::TestObjV8Internal::convert1Callback):
2320         (WebCore::TestObjV8Internal::convert2Callback):
2321         (WebCore::TestObjV8Internal::convert3Callback):
2322         (WebCore::TestObjV8Internal::convert4Callback):
2323         (WebCore::TestObjV8Internal::convert5Callback):
2324         (WebCore::TestObjV8Internal::strictFunctionCallback):
2325         (WebCore::V8TestObj::constructorCallback):
2326         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2327         (WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListCallback):
2328         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
2329         * bindings/v8/ScriptController.cpp:
2330         (WebCore::setValueAndClosePopupCallback):
2331         * bindings/v8/V8Proxy.cpp:
2332         (WebCore::V8Proxy::throwNotEnoughArgumentsError):
2333         * bindings/v8/V8Proxy.h:
2334         (V8Proxy):
2335         * bindings/v8/custom/V8AudioContextCustom.cpp:
2336         (WebCore::V8AudioContext::constructorCallback):
2337         * bindings/v8/custom/V8DataViewCustom.cpp:
2338         (WebCore::V8DataView::getInt8Callback):
2339         (WebCore::V8DataView::getUint8Callback):
2340         (WebCore::V8DataView::setInt8Callback):
2341         (WebCore::V8DataView::setUint8Callback):
2342         * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
2343         (WebCore::V8DirectoryEntry::getDirectoryCallback):
2344         (WebCore::V8DirectoryEntry::getFileCallback):
2345         * bindings/v8/custom/V8IntentConstructor.cpp:
2346         (WebCore::V8Intent::constructorCallback):
2347         * bindings/v8/custom/V8SVGLengthCustom.cpp:
2348         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
2349         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2350         (WebCore::getObjectParameter):
2351         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
2352         (WebCore::V8WebGLRenderingContext::getExtensionCallback):
2353         (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
2354         (WebCore::V8WebGLRenderingContext::getParameterCallback):
2355         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
2356         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
2357         (WebCore::V8WebGLRenderingContext::getUniformCallback):
2358         (WebCore::vertexAttribAndUniformHelperf):
2359         (WebCore::uniformHelperi):
2360         (WebCore::uniformMatrixHelper):
2361         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
2362         (WebCore::V8WebKitMutationObserver::constructorCallback):
2363         (WebCore::V8WebKitMutationObserver::observeCallback):
2364         * bindings/v8/custom/V8WebSocketCustom.cpp:
2365         (WebCore::V8WebSocket::constructorCallback):
2366         (WebCore::V8WebSocket::sendCallback):
2367         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2368         (WebCore::V8XMLHttpRequest::openCallback):
2369
2370 2012-05-20  Kentaro Hara  <haraken@chromium.org>
2371
2372         [V8] Pass Isolate to throwError()s in V8 custom bindings (Part 2)
2373         https://bugs.webkit.org/show_bug.cgi?id=86981
2374
2375         Reviewed by Adam Barth.
2376
2377         The objective is to pass Isolate around in V8 bindings.
2378         This patch passes Isolate to throwError()s in V8 custom bindings.
2379
2380         No tests. No change in behavior.
2381
2382         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2383         (WebCore::v8HTMLImageElementConstructorCallback):
2384         * bindings/v8/custom/V8HistoryCustom.cpp:
2385         (WebCore::V8History::pushStateCallback):
2386         (WebCore::V8History::replaceStateCallback):
2387         * bindings/v8/custom/V8IntentConstructor.cpp:
2388         (WebCore::V8Intent::constructorCallback):
2389         * bindings/v8/custom/V8MessagePortCustom.cpp:
2390         (WebCore::handlePostMessageCallback):
2391         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
2392         (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
2393         (WebCore::V8NotificationCenter::createNotificationCallback):
2394         (WebCore::V8NotificationCenter::requestPermissionCallback):
2395         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
2396         (WebCore::V8SQLResultSetRowList::itemCallback):
2397         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
2398         (WebCore::V8SQLTransaction::executeSqlCallback):
2399         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
2400         (WebCore::V8SQLTransactionSync::executeSqlCallback):
2401         * bindings/v8/custom/V8StorageCustom.cpp:
2402         (WebCore::storageSetter):
2403         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
2404         (WebCore::V8WebKitMutationObserver::constructorCallback):
2405         (WebCore::V8WebKitMutationObserver::observeCallback):
2406         * bindings/v8/custom/V8WebSocketCustom.cpp:
2407         (WebCore::V8WebSocket::constructorCallback):
2408         (WebCore::V8WebSocket::sendCallback):
2409         (WebCore::V8WebSocket::closeCallback):
2410         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2411         (WebCore::V8WorkerContext::importScriptsCallback):
2412         * bindings/v8/custom/V8WorkerCustom.cpp:
2413         (WebCore::handlePostMessageCallback):
2414         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
2415         (WebCore::V8XMLHttpRequest::constructorCallback):
2416         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2417         (WebCore::V8XMLHttpRequest::responseTextAccessorGetter):
2418         (WebCore::V8XMLHttpRequest::openCallback):
2419         (WebCore::V8XMLHttpRequest::sendCallback):
2420
2421 2012-05-20  Kentaro Hara  <haraken@chromium.org>
2422
2423         [V8] Pass Isolate to throwError()s in V8 custom bindings (Part 1)
2424         https://bugs.webkit.org/show_bug.cgi?id=86980
2425
2426         Reviewed by Adam Barth.
2427
2428         The objective is to pass Isolate around in V8 bindings.
2429         This patch passes Isolate to throwError()s in V8 custom bindings.
2430
2431         No tests. No change in behavior.
2432
2433         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
2434         (WebCore::V8ArrayBuffer::constructorCallback):
2435         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2436         (WebCore::constructWebGLArrayWithArrayBufferArgument):
2437         (WebCore::constructWebGLArray):
2438         * bindings/v8/custom/V8AudioContextCustom.cpp:
2439         (WebCore::V8AudioContext::constructorCallback):
2440         * bindings/v8/custom/V8BlobCustom.cpp:
2441         (WebCore::V8Blob::constructorCallback):
2442         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
2443         (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
2444         * bindings/v8/custom/V8ClipboardCustom.cpp:
2445         (WebCore::V8Clipboard::clearDataCallback):
2446         (WebCore::V8Clipboard::setDragImageCallback):
2447         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
2448         (WebCore::V8DOMFormData::appendCallback):
2449         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
2450         (WebCore::V8DOMStringMap::namedPropertySetter):
2451         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2452         (WebCore::handlePostMessageCallback):
2453         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
2454         (WebCore::handlePostMessageCallback):
2455         * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
2456         (WebCore::V8DirectoryEntry::getDirectoryCallback):
2457         (WebCore::V8DirectoryEntry::getFileCallback):
2458         * bindings/v8/custom/V8DocumentCustom.cpp:
2459         (WebCore::V8Document::evaluateCallback):
2460
2461 2012-05-20  Kentaro Hara  <haraken@chromium.org>
2462
2463         [V8] Pass Isolate to V8NPObject::npObjectGetProperty() and V8NPObject::npObjectSetProperty()
2464         https://bugs.webkit.org/show_bug.cgi?id=86979
2465
2466         Reviewed by Adam Barth.
2467
2468         The objective is to pass Isolate around in V8 bindings.
2469         This patch passes Isolate to V8NPObject::npObjectGetProperty()
2470         and V8NPObject::npObjectSetProperty().
2471
2472         No tests. No change in behavior.
2473
2474         * bindings/v8/V8NPObject.cpp:
2475         (WebCore::npObjectGetProperty):
2476         (WebCore::npObjectNamedPropertyGetter):
2477         (WebCore::npObjectIndexedPropertyGetter):
2478         (WebCore::npObjectGetNamedProperty):
2479         (WebCore::npObjectGetIndexedProperty):
2480         (WebCore::npObjectQueryProperty):
2481         (WebCore::npObjectSetProperty):
2482         (WebCore::npObjectNamedPropertySetter):
2483         (WebCore::npObjectIndexedPropertySetter):
2484         (WebCore::npObjectSetNamedProperty):
2485         (WebCore::npObjectSetIndexedProperty):
2486         * bindings/v8/V8NPObject.h:
2487         (WebCore):
2488         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
2489         (WebCore::npObjectNamedGetter):
2490         (WebCore::npObjectNamedSetter):
2491         (WebCore::npObjectIndexedGetter):
2492         (WebCore::npObjectIndexedSetter):
2493
2494 2012-05-20  Ryosuke Niwa  <rniwa@webkit.org>
2495
2496         Using createContextualFragment to insert a <script> does not cause the script to execute
2497         https://bugs.webkit.org/show_bug.cgi?id=12234
2498
2499         Reviewed by Adam Barth.
2500
2501         Renamed FragmentScriptingAllowed and FragmentScriptingNotAllowed to DisallowScriptingContent
2502         and AllowScriptingContent as these two flags are used in code for non-fragment cases and they
2503         indicate whether attributes and elements that can invoke scripting should be removed or not.
2504
2505         To fix the bug, added a new value AllowScriptingContentAndDoNotMarkAlreadyStarted unset
2506         already-started and parser-inserted flags [1] on script elements in addition to allowing
2507         scripting contents.
2508
2509         While the HTML5 specification and the DOM Parsing and Serialization specification [2] state that
2510         we should set these flags in the parser and later unset them, doing so would require traversing
2511         the parsed fragment to find relevant script elements. We short circuit this logic by simply not
2512         setting parser-inserted and already-started flags in createContextualFragment.
2513
2514         [1] http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#already-started
2515         [2] http://html5.org/specs/dom-parsing.html#dom-range-createcontextualfragment
2516
2517         Tests: fast/dom/Range/create-contextual-fragment-script-not-ran.html
2518                fast/dom/Range/create-contextual-fragment-script-unmark-already-started.html
2519
2520         * dom/DocumentFragment.h:
2521         (DocumentFragment):
2522         * dom/Element.cpp:
2523         (WebCore::Element::parserSetAttributes):
2524         (WebCore::Element::setAttributeNS):
2525         * dom/Element.h:
2526         (Element):
2527         * dom/FragmentScriptingPermission.h:
2528         * dom/Range.cpp:
2529         (WebCore::Range::createContextualFragment): Removed FragmentScriptingPermission from the argument
2530         list since no one uses it. Always use AllowScriptingContentAndDoNotMarkAlreadyStarted instead.
2531         * dom/Range.h:
2532         * editing/markup.h:
2533         * html/parser/HTMLConstructionSite.cpp:
2534         (WebCore::HTMLConstructionSite::HTMLConstructionSite):
2535         (WebCore::HTMLConstructionSite::insertScriptElement): Pass false to both parserInserted and
2536         alreadyStarted when the scripting permission is AllowScriptingContentAndDoNotMarkAlreadyStarted.
2537         Also call parserSetAttributes when the scripting permission is either AllowScriptingContent or
2538         AllowScriptingContentAndDoNotMarkAlreadyStarted.
2539         * html/parser/HTMLDocumentParser.h:
2540         (HTMLDocumentParser):
2541         * html/parser/HTMLTreeBuilder.cpp:
2542         (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
2543         (WebCore::HTMLTreeBuilder::processEndTag):
2544         * html/parser/HTMLTreeBuilder.h:
2545         (FragmentParsingContext):
2546         * platform/blackberry/PasteboardBlackBerry.cpp:
2547         (WebCore::Pasteboard::documentFragment):
2548         * platform/chromium/DragDataChromium.cpp:
2549         (WebCore::DragData::asFragment):
2550         * platform/chromium/PasteboardChromium.cpp:
2551         (WebCore::Pasteboard::documentFragment):
2552         * platform/gtk/PasteboardGtk.cpp:
2553         (WebCore::Pasteboard::documentFragment):
2554         * platform/mac/PasteboardMac.mm:
2555         (WebCore::Pasteboard::documentFragment):
2556         * platform/qt/DragDataQt.cpp:
2557         (WebCore::DragData::asFragment):
2558         * platform/qt/PasteboardQt.cpp:
2559         (WebCore::Pasteboard::documentFragment):
2560         * platform/win/ClipboardUtilitiesWin.cpp:
2561         (WebCore::fragmentFromCFHTML):
2562         (WebCore::fragmentFromHTML):
2563         * xml/XMLErrors.cpp:
2564         (WebCore::createXHTMLParserErrorHeader):
2565         (WebCore::XMLErrors::insertErrorMessageBlock):
2566         * xml/parser/NewXMLDocumentParser.h:
2567         (NewXMLDocumentParser):
2568         * xml/parser/XMLDocumentParser.h:
2569         (XMLDocumentParser):
2570         * xml/parser/XMLDocumentParserLibxml2.cpp:
2571         (WebCore::XMLDocumentParser::XMLDocumentParser):
2572         (WebCore::XMLDocumentParser::endElementNs):
2573         * xml/parser/XMLDocumentParserQt.cpp:
2574         (WebCore::XMLDocumentParser::XMLDocumentParser):
2575         (WebCore::XMLDocumentParser::parseEndElement):
2576
2577 2012-05-20  Kentaro Hara  <haraken@chromium.org>
2578
2579         [V8] Pass Isolate to V8Utilities::createFunctionCallback()
2580         https://bugs.webkit.org/show_bug.cgi?id=86978
2581
2582         Reviewed by Adam Barth.
2583
2584         The objective is to pass Isolate around in V8 bindings.
2585         This patch passes Isolate to V8Utilities::createFunctionCallback().
2586
2587         No tests. No change in behavior.
2588
2589         * bindings/v8/V8Utilities.cpp:
2590         (WebCore::throwTypeMismatchException):
2591         * bindings/v8/V8Utilities.h:
2592         (WebCore):
2593         (WebCore::createFunctionOnlyCallback):
2594         * bindings/v8/custom/V8GeolocationCustom.cpp:
2595         (WebCore::V8Geolocation::getCurrentPositionCallback):
2596         (WebCore::V8Geolocation::watchPositionCallback):
2597         * bindings/v8/custom/V8NotificationCustom.cpp:
2598         (WebCore::V8Notification::requestPermissionCallback):
2599
2600 2012-05-20  Kentaro Hara  <haraken@chromium.org>
2601
2602         [V8] Pass Isolate to throwError()s in bindings/v8/*.{h,cpp}
2603         https://bugs.webkit.org/show_bug.cgi?id=86977
2604
2605         Reviewed by Adam Barth.
2606
2607         The objective is to pass Isolate around in V8 bindings.
2608         This patch passes Isolate to throwError()s in bindings/v8/*.{h,cpp}
2609         except for a couple of non-trivial cases. I'll upload a follow-up patch
2610         for the non-trivial cases.
2611
2612         No tests. No change in behavior.
2613
2614         * bindings/v8/DateExtension.cpp:
2615         (WebCore::DateExtension::OnSleepDetected):
2616         * bindings/v8/SerializedScriptValue.cpp:
2617         (WebCore::SerializedScriptValue::transferArrayBuffers):
2618         (WebCore::SerializedScriptValue::SerializedScriptValue):
2619         * bindings/v8/SerializedScriptValue.h:
2620         * bindings/v8/V8NPObject.cpp:
2621         (WebCore::npObjectInvokeImpl):
2622         (WebCore::npObjectPropertyEnumerator):
2623         * bindings/v8/V8Proxy.cpp:
2624         (WebCore::V8Proxy::checkNewLegal):
2625
2626 2012-05-20  Keishi Hattori  <keishi@webkit.org>
2627
2628         [Chromium] Enable datalist for input type email
2629         https://bugs.webkit.org/show_bug.cgi?id=85356
2630
2631         Reviewed by Kent Tamura.
2632
2633         No new tests. Covered in fast/forms/datalist/input-list.html
2634
2635         * rendering/RenderThemeChromiumCommon.cpp:
2636         (WebCore::RenderThemeChromiumCommon::supportsDataListUI):
2637
2638 2012-05-20  Kentaro Hara  <haraken@chromium.org>
2639
2640         [V8] Pass Isolate to throwError()s in CodeGeneratorV8.pm
2641         https://bugs.webkit.org/show_bug.cgi?id=86976
2642
2643         Reviewed by Adam Barth.
2644
2645         The objective is to pass Isolate around in V8 bindings.
2646         This patch passes Isolate to throwError()s in CodeGeneratorV8.pm.
2647
2648         No tests. No change in behavior.
2649
2650         * bindings/scripts/CodeGeneratorV8.pm:
2651         (GenerateNormalAttrGetter):
2652         (GenerateNormalAttrSetter):
2653         (GenerateParametersCheck):
2654         (GenerateConstructorCallback):
2655         (GenerateNamedConstructorCallback):
2656         (GenerateFunctionCallString):
2657         * bindings/scripts/test/V8/V8TestInterface.cpp:
2658         (WebCore::V8TestInterface::constructorCallback):
2659         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2660         (WebCore::V8TestNamedConstructorConstructorCallback):
2661         * bindings/scripts/test/V8/V8TestObj.cpp:
2662         (WebCore::TestObjV8Internal::withScriptStateAttributeAttrSetter):
2663         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
2664         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetter):
2665         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetter):
2666         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
2667         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
2668         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter):
2669         (WebCore::TestObjV8Internal::withScriptStateVoidCallback):
2670         (WebCore::TestObjV8Internal::withScriptStateObjCallback):
2671         (WebCore::TestObjV8Internal::withScriptStateVoidExceptionCallback):
2672         (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
2673         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateCallback):
2674         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
2675         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
2676         (WebCore::TestObjV8Internal::methodWithCallbackArgCallback):
2677         (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
2678         (WebCore::TestObjV8Internal::methodWithCallbackAndOptionalArgCallback):
2679         (WebCore::TestObjV8Internal::overloadedMethod5Callback):
2680         (WebCore::V8TestObj::constructorCallback):
2681
2682 2012-05-20  George Staikos  <staikos@webkit.org>
2683
2684         [BlackBerry] Implement the Screen functions to get DPI.
2685         https://bugs.webkit.org/show_bug.cgi?id=86967
2686
2687         Reviewed by Antonio Gomes.
2688
2689         * platform/blackberry/PlatformScreenBlackBerry.cpp:
2690         (WebCore::screenHorizontalDPI):
2691         (WebCore::screenVerticalDPI):
2692
2693 2012-05-20  Shinya Kawanaka  <shinyak@chromium.org>
2694
2695         [Refactoring] Node::shadowHost() and Node::setShadowHost() can be moved to ShadowRoot.
2696         https://bugs.webkit.org/show_bug.cgi?id=86585
2697
2698         Reviewed by Hajime Morita.
2699
2700         Since Node::shadowHost() and Node::setShadowHost() are valid only if Node is ShadowRoot,
2701         they should be moved to ShadowRoot.
2702
2703         However, Node::setParent cannot be called from ShadowRoot, we add Node::setParentOrHostNode
2704         to call it as Node::parentOrHostNode() calls Node::parent(). Node::setParent() is now private.
2705         We also add SVGElementInstance::setParentOrHostNode() to share ContainerNodeAlgorithm.
2706
2707         No new tests, no change in behavior.
2708
2709         * dom/Attr.cpp:
2710         (WebCore::Attr::createTextChild):
2711         * dom/ContainerNode.cpp:
2712         (WebCore::ContainerNode::insertBeforeCommon):
2713         (WebCore::ContainerNode::removeBetween):
2714         (WebCore::ContainerNode::removeChildren):
2715         * dom/ContainerNodeAlgorithms.h:
2716         (WebCore::appendChildToContainer):
2717         (WebCore::Private::addChildNodesToDeletionQueue):
2718         * dom/ElementShadow.cpp:
2719         (WebCore::validateShadowRoot):
2720         (WebCore::ElementShadow::addShadowRoot):
2721         (WebCore::ElementShadow::removeAllShadowRoots):
2722         * dom/EventDispatcher.cpp:
2723         (WebCore::eventTargetRespectingSVGTargetRules):
2724         (WebCore::EventDispatcher::ensureEventAncestors):
2725         (WebCore::EventDispatcher::determineDispatchBehavior):
2726         * dom/EventDispatcher.h:
2727         (WebCore):
2728         (EventDispatcher):
2729         * dom/Node.cpp:
2730         (WebCore::Node::parentOrHostElement):
2731         * dom/Node.h:
2732         (Node):
2733         (WebCore::Node::setParentOrHostNode):
2734         (WebCore):
2735         * dom/NodeRenderingContext.cpp:
2736         (WebCore::NodeRenderingContext::NodeRenderingContext):
2737         * dom/ShadowRoot.h:
2738         (WebCore::ShadowRoot::host):
2739         (WebCore):
2740         (WebCore::ShadowRoot::setHost):
2741         * dom/TreeScope.cpp:
2742         (WebCore::TreeScope::focusedNode):
2743         * html/shadow/ContentSelectorQuery.cpp:
2744         (WebCore::ContentSelectorQuery::matches):
2745         * page/DragController.cpp:
2746         (WebCore::asFileInput):
2747         * page/EventHandler.cpp:
2748         (WebCore::EventHandler::handleMousePressEvent):
2749         (WebCore::instanceAssociatedWithShadowTreeElement):
2750         (WebCore::EventHandler::dispatchMouseEvent):
2751         * page/FocusController.cpp:
2752         (WebCore::FocusScope::owner):
2753         * rendering/RenderBlock.cpp:
2754         (WebCore::RenderBlock::hasLineIfEmpty):
2755         * svg/SVGElementInstance.h:
2756         (WebCore::SVGElementInstance::setParentOrHostNode):
2757         (SVGElementInstance):
2758         * svg/SVGStyledElement.cpp:
2759         (WebCore::SVGStyledElement::title):
2760         * svg/SVGTRefElement.cpp:
2761         (WebCore::SVGShadowText::willRecalcTextStyle):
2762
2763 2012-05-20  Joe Thomas  <joethomas@motorola.com>
2764
2765         Unsupported commands should have queryCommandValue() = "", not false
2766         https://bugs.webkit.org/show_bug.cgi?id=86964
2767
2768         Reviewed by Ryosuke Niwa.
2769
2770         queryCommandValue for unsupported commands should return empty string.
2771         The specification related to this can be located at http://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#methods-to-query-and-execute-commands
2772
2773         Test: editing/execCommand/queryCommandValue-unsupported-commands.html
2774
2775         * dom/Document.idl:
2776
2777 2012-05-20  Kentaro Hara  <haraken@chromium.org>
2778
2779         Unreviewed. Rebaselined run-bindings-tests results.
2780
2781         * bindings/scripts/test/JS/JSTestInterface.cpp:
2782         (WebCore::setJSTestInterfaceSupplementalStr2):
2783         (WebCore::setJSTestInterfaceSupplementalStr3):
2784         (WebCore::setJSTestInterfaceSupplementalNode):
2785         * bindings/scripts/test/JS/JSTestObj.cpp:
2786         (WebCore::setJSTestObjShortAttr):
2787         (WebCore::setJSTestObjUnsignedShortAttr):
2788         (WebCore::setJSTestObjIntAttr):
2789         (WebCore::setJSTestObjLongLongAttr):
2790         (WebCore::setJSTestObjUnsignedLongLongAttr):
2791         (WebCore::setJSTestObjStringAttr):
2792         (WebCore::setJSTestObjTestObjAttr):
2793         (WebCore::setJSTestObjSequenceAttr):
2794         (WebCore::setJSTestObjIntSequenceAttr):
2795         (WebCore::setJSTestObjShortSequenceAttr):
2796         (WebCore::setJSTestObjLongSequenceAttr):
2797         (WebCore::setJSTestObjLongLongSequenceAttr):
2798         (WebCore::setJSTestObjUnsignedIntSequenceAttr):
2799         (WebCore::setJSTestObjUnsignedShortSequenceAttr):
2800         (WebCore::setJSTestObjUnsignedLongSequenceAttr):
2801         (WebCore::setJSTestObjUnsignedLongLongSequenceAttr):
2802         (WebCore::setJSTestObjFloatSequenceAttr):
2803         (WebCore::setJSTestObjDoubleSequenceAttr):
2804         (WebCore::setJSTestObjBooleanSequenceAttr):
2805         (WebCore::setJSTestObjVoidSequenceAttr):
2806         (WebCore::setJSTestObjDateSequenceAttr):
2807         (WebCore::setJSTestObjXMLObjAttr):
2808         (WebCore::setJSTestObjCreate):
2809         (WebCore::setJSTestObjReflectedStringAttr):
2810         (WebCore::setJSTestObjReflectedIntegralAttr):
2811         (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
2812         (WebCore::setJSTestObjReflectedBooleanAttr):
2813         (WebCore::setJSTestObjReflectedURLAttr):
2814         (WebCore::setJSTestObjReflectedCustomIntegralAttr):
2815         (WebCore::setJSTestObjReflectedCustomBooleanAttr):
2816         (WebCore::setJSTestObjReflectedCustomURLAttr):
2817         (WebCore::setJSTestObjAttrWithGetterException):
2818         (WebCore::setJSTestObjAttrWithSetterException):
2819         (WebCore::setJSTestObjStringAttrWithGetterException):
2820         (WebCore::setJSTestObjStringAttrWithSetterException):
2821         (WebCore::setJSTestObjCustomAttr):
2822         (WebCore::setJSTestObjWithScriptStateAttribute):
2823         (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
2824         (WebCore::setJSTestObjWithScriptStateAttributeRaises):
2825         (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
2826         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
2827         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
2828         (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
2829         (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
2830         (WebCore::setJSTestObjConditionalAttr1):
2831         (WebCore::setJSTestObjConditionalAttr2):
2832         (WebCore::setJSTestObjConditionalAttr3):
2833         (WebCore::setJSTestObjConditionalAttr4Constructor):
2834         (WebCore::setJSTestObjConditionalAttr5Constructor):
2835         (WebCore::setJSTestObjConditionalAttr6Constructor):
2836         (WebCore::setJSTestObjMutablePoint):
2837         (WebCore::setJSTestObjImmutablePoint):
2838         (WebCore::setJSTestObjStrawberry):
2839         (WebCore::setJSTestObjStrictFloat):
2840         (WebCore::setJSTestObjId):
2841         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2842         (WebCore::setJSTestSerializedScriptValueInterfaceValue):
2843         (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
2844
2845 2012-05-20  George Staikos  <staikos@webkit.org>
2846
2847         Use reinterpret_cast_ptr<> to fix an alignment warning.
2848         https://bugs.webkit.org/show_bug.cgi?id=80790
2849
2850         Reviewed by Rob Buis.
2851
2852         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2853         (WebCore::error_exit):
2854
2855 2012-05-20  Takashi Sakamoto  <tasak@google.com>
2856
2857         Needs style recalculation by changing applyAuthorStyles dynamically
2858         https://bugs.webkit.org/show_bug.cgi?id=84251
2859
2860         Modifying setApplyAuthorStyles to invoke owner()'s
2861         setNeedsRedistributing if applyAuthorStyles changes.
2862
2863         Reviewed by Hajime Morita.
2864
2865         No new tests. Adding new tests to existing
2866         fast/dom/shadow/shadow-root-applyAuthorStyles.html to test this
2867         feature.
2868
2869         * dom/ShadowRoot.cpp:
2870         (WebCore::ShadowRoot::setApplyAuthorStyles):
2871         If applyAuthorStyles changes, invoke owner's setNeedsRedistributing to
2872         recalculate styles of the shadow root's child elements.
2873
2874 2012-05-20  Philip Rogers  <pdr@google.com>
2875
2876         Accumulate SVG animations into first contributing element
2877         https://bugs.webkit.org/show_bug.cgi?id=86385
2878
2879         Reviewed by Nikolas Zimmermann.
2880
2881         Previously we were accumulating animations into the first animation element when
2882         there were multiple animations for a single element. This crashed if the first
2883         animation ended first because the first animation was prematurely cleaned up.
2884         This change accumulates animations into the first _contributing_ animation element.
2885
2886         Tests: svg/animations/multiple-animations-ending.html
2887                svg/animations/svg-two-animate-elements-crash-expected.svg
2888                svg/animations/svg-two-animate-elements-crash.svg
2889
2890         * svg/animation/SMILTimeContainer.cpp:
2891         (WebCore::SMILTimeContainer::updateAnimations):
2892         * svg/animation/SVGSMILElement.cpp:
2893         (WebCore::SVGSMILElement::progress):
2894
2895 2012-05-20  Philip Rogers  <pdr@google.com>
2896
2897         Fix hit testing on non-scaling strokes
2898         https://bugs.webkit.org/show_bug.cgi?id=82628
2899
2900         Reviewed by Nikolas Zimmermann.
2901
2902         This change fixes hit testing on non-scaling strokes. It contains fixes for 3 bugs:
2903         1) RenderSVGRect::shapeDependentStrokeContains was not falling back to shape-based hit testing.
2904         2) m_strokeAndMarkerBoundingBox did not account for non-scaling strokes.
2905         3) RenderSVGShape::shapeDependentStrokeContains did not have any support for non-scaling strokes.
2906
2907         This change also contains some refactoring/cleanup of the non-scale-stroke codepaths.
2908
2909         Test: svg/hittest/svg-shapes-non-scale-stroke.html
2910
2911         * rendering/svg/RenderSVGEllipse.cpp:
2912         (WebCore::RenderSVGEllipse::createShape):
2913         * rendering/svg/RenderSVGRect.cpp:
2914         (WebCore::RenderSVGRect::createShape):
2915         (WebCore::RenderSVGRect::shapeDependentStrokeContains):
2916         * rendering/svg/RenderSVGShape.cpp:
2917         (WebCore::RenderSVGShape::shapeDependentStrokeContains):
2918         (WebCore::RenderSVGShape::shapeDependentFillContains):
2919         (WebCore::RenderSVGShape::nonScalingStrokePath):
2920         (WebCore):
2921         (WebCore::RenderSVGShape::setupNonScalingStrokeContext):
2922         (WebCore::RenderSVGShape::nonScalingStrokeTransform):
2923         (WebCore::RenderSVGShape::strokePath):
2924         (WebCore::RenderSVGShape::fillAndStrokePath):
2925         (WebCore::RenderSVGShape::updateCachedBoundaries):
2926         (WebCore::RenderSVGShape::inflateWithStrokeAndMarkerBounds):
2927         * rendering/svg/RenderSVGShape.h:
2928         (WebCore::RenderSVGShape::hasNonScalingStroke):
2929         (RenderSVGShape):
2930
2931 2012-05-19  Emil A Eklund  <eae@chromium.org>
2932
2933         Simplify RenderOverflow by using Rects
2934         https://bugs.webkit.org/show_bug.cgi?id=86894
2935
2936         Reviewed by Eric Seidel.
2937
2938         Simplify the RenderOverflow class and the uses of it by storing the
2939         overflow values in rects and using the rects instead of the individual
2940         values where it makes sense.
2941
2942         No new tests, no change in functionality.
2943
2944         * page/FrameView.cpp:
2945         (WebCore::FrameView::adjustPageHeightDeprecated):
2946         Change to use layoutOverflowRect().maxX() and replace C style casts with
2947         C++ style to comply with style guide.
2948         
2949         * rendering/InlineFlowBox.h:
2950         (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
2951         (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
2952         (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
2953         (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
2954         (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
2955         (WebCore::InlineFlowBox::logicalRightVisualOverflow):
2956         (WebCore::InlineFlowBox::logicalTopVisualOverflow):
2957         (WebCore::InlineFlowBox::logicalBottomVisualOverflow):
2958         Change methods to use layoutOverflowRect() and visualOverflowRect().
2959         
2960         * rendering/RenderBox.cpp:
2961         (WebCore::RenderBox::scrollWidth):
2962         (WebCore::RenderBox::scrollHeight):
2963         Change methods to use visualOverflowRect().
2964         
2965         (WebCore::RenderBox::clearLayoutOverflow):
2966         Use setLayoutOverflow instead of resetLayoutOverflow (which has been
2967         removed as it did exactly the same thing as the set method).
2968         
2969         * rendering/RenderBox.h:
2970         (WebCore::RenderBox::maxLayoutOverflow):
2971         (WebCore::RenderBox::logicalLeftLayoutOverflow):
2972         (WebCore::RenderBox::logicalRightLayoutOverflow):
2973         (WebCore::RenderBox::logicalLeftVisualOverflow):
2974         (WebCore::RenderBox::logicalRightVisualOverflow):
2975         Remove minYLayoutOverflow, maxYLayoutOverflow, minXLayoutOverflow and
2976         maxXLayoutOverflow and update the remaining methods to use
2977         layoutOverflowRect().
2978         
2979         * rendering/RenderMarquee.cpp:
2980         (WebCore::RenderMarquee::computePosition):
2981         Change to use layoutOverflowRect().
2982         
2983         * rendering/RenderOverflow.h:
2984         (WebCore::RenderOverflow::RenderOverflow):
2985         (WebCore::RenderOverflow::layoutOverflowRect):
2986         (WebCore::RenderOverflow::visualOverflowRect):
2987         (RenderOverflow):
2988         (WebCore::RenderOverflow::setMinYLayoutOverflow):
2989         (WebCore::RenderOverflow::setMaxYLayoutOverflow):
2990         (WebCore::RenderOverflow::setMinXLayoutOverflow):
2991         (WebCore::RenderOverflow::setMaxXLayoutOverflow):
2992         (WebCore::RenderOverflow::setMinYVisualOverflow):
2993         (WebCore::RenderOverflow::setMaxYVisualOverflow):
2994         (WebCore::RenderOverflow::setMinXVisualOverflow):
2995         (WebCore::RenderOverflow::setMaxXVisualOverflow):
2996         (WebCore):
2997         (WebCore::RenderOverflow::move):
2998         (WebCore::RenderOverflow::addLayoutOverflow):
2999         (WebCore::RenderOverflow::addVisualOverflow):
3000         (WebCore::RenderOverflow::setLayoutOverflow):
3001         (WebCore::RenderOverflow::setVisualOverflow):
3002         Change RenderOverflow to use two rects instead of two sets of four
3003         values. Remove [min|max][Layout|Visual]Overflow getters and change the
3004         layoutOverflowRect and visualOverflowRect methods to return the rects.
3005         
3006         * rendering/RenderReplaced.cpp:
3007         (WebCore::RenderReplaced::shouldPaint):
3008         Change to use visualOverflowRect().
3009         
3010         * rendering/RenderTable.cpp:
3011         (WebCore::RenderTable::layout):
3012         Change to use visualOverflowRect().
3013         
3014         * rendering/RenderTableCell.cpp:
3015         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
3016         Change to use visualOverflowRect().
3017         
3018         * rendering/RenderTreeAsText.cpp:
3019         (WebCore::writeLayers):
3020         Change to use layoutOverflowRect().
3021
3022 2012-05-19  Rob Buis  <rbuis@rim.com>
3023
3024         Remove bbox caching from SVGPathElement
3025         https://bugs.webkit.org/show_bug.cgi?id=86233
3026
3027         Reviewed by Nikolas Zimmermann.
3028
3029         Remove caching of path bounding box, since SVGLocatable::getBBox is not used much at all.
3030         This saves 200k of memory for worldcup.svg on 64-bit machine.
3031
3032         * svg/SVGPathElement.cpp:
3033         (WebCore::SVGPathElement::SVGPathElement):
3034         (WebCore::SVGPathElement::svgAttributeChanged):
3035         (WebCore::SVGPathElement::pathSegListChanged):
3036         (WebCore::SVGPathElement::getBBox):
3037         * svg/SVGPathElement.h:
3038         (SVGPathElement):
3039
3040 2012-05-19  Andy Estes  <aestes@apple.com>
3041
3042         Fix build errors found when disabling ENABLE_DRAG_SUPPORT
3043         https://bugs.webkit.org/show_bug.cgi?id=86947
3044
3045         Reviewed by Jon Honeycutt.
3046
3047         * page/mac/EventHandlerMac.mm:
3048         (WebCore::EventHandler::passMouseMoveEventToSubframe):
3049         * platform/mac/ClipboardMac.mm:
3050         (WebCore):
3051
3052 2012-05-19  Joe Thomas  <joethomas@motorola.com>
3053
3054         The order of CSS properties is wrong in background shorthand
3055         https://bugs.webkit.org/show_bug.cgi?id=86152
3056
3057         Reviewed by Ryosuke Niwa.
3058
3059         Corrected the order of properties returned in StylePropertySet::getPropertyValue for background shorthand property to match the specification  
3060         http://www.w3.org/TR/css3-background/#background.
3061
3062         * css/StylePropertyShorthand.cpp:
3063         (WebCore::backgroundShorthand):
3064
3065 2012-05-19  Ryosuke Niwa  <rniwa@webkit.org>
3066
3067         Touch Internals.* in an attempt to fix Windows builds after r117646.
3068
3069         * testing/Internals.cpp:
3070         * testing/Internals.h:
3071         * testing/Internals.idl:
3072
3073 2012-05-18  Ryosuke Niwa  <rniwa@webkit.org>
3074
3075         WebKit erroneously add 1px padding in input elements
3076         https://bugs.webkit.org/show_bug.cgi?id=86784
3077
3078         Reviewed by Kent Tamura.
3079
3080         Fixed the bug by removing the code that added left and right paddings in input elements.
3081         The code was added in r13567 to match a very old version of Internet Explorer but this quirk
3082         does not seem to exists in IE9 (both in quirks and standard modes).
3083
3084         A lot of tests need to be rebaselined due to 1px difference inside input elements, and 2px
3085         differences for the width of input elements. (In some extreme cases, line breaking changed
3086         due to the width change).
3087
3088         Test: fast/forms/input-textarea-padding-match.html
3089
3090         * css/html.css:
3091         (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
3092         * rendering/RenderTextControlSingleLine.cpp:
3093         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
3094
3095 2012-05-18  Adrienne Walker  <enne@google.com>
3096
3097         [chromium] Add diagnostic CRASH calls for tiler crashes
3098         https://bugs.webkit.org/show_bug.cgi?id=86930
3099
3100         Reviewed by James Robinson.
3101
3102         These lines would normally crash on their own due to null pointers,
3103         but having an explicit CRASH call will help us differentiate what the
3104         real problem might be in the crash report.
3105
3106         * platform/graphics/chromium/TiledLayerChromium.cpp:
3107         (WebCore::TiledLayerChromium::createTile):
3108         (WebCore::TiledLayerChromium::updateTiles):
3109
3110 2012-05-18  Aaron Colwell  <acolwell@chromium.org>
3111
3112         Update Media Source implementation to reflect changes in 0.5 spec.
3113         https://bugs.webkit.org/show_bug.cgi?id=83607
3114
3115         Reviewed by Darin Fisher.
3116
3117         Tests: http/tests/media/media-source/video-media-source-event-attributes.html
3118                http/tests/media/media-source/webm/video-media-source-abort.html
3119                http/tests/media/media-source/webm/video-media-source-add-and-remove-ids.html
3120
3121         * html/HTMLAttributeNames.in: Add onwebkitsourcexxx event attribute names.
3122         * html/HTMLMediaElement.cpp: 
3123         (WebCore::HTMLMediaElement::parseAttribute): Add code to register event listeners for the onwebkitsourcexxx attributes.
3124         (WebCore::HTMLMediaElement::pauseInternal):
3125         (WebCore):
3126         (WebCore::HTMLMediaElement::webkitSourceAddId): Changed code to pass the parsed type & codecs to m_player instead of the whole MIME-type string. This was done to allow some simple parsing & validation code to be shared in WebKit instead of reimplemented in every port.
3127         (WebCore::HTMLMediaElement::webkitSourceBuffered): New method in the v0.5 spec. It validates the parameters & that it is being called in the correct state. If so it forwards the call to m_player.
3128         (WebCore::HTMLMediaElement::webkitSourceAppend): Adds id parameter to match v0.5 signature. Minor logic changes that avoid calling m_player for 0 byte arrays and fixes exceptions reported for a null array and a parse error so they match the spec text.
3129         (WebCore::HTMLMediaElement::webkitSourceAbort): New method in the v0.5 spec. It validates the parameter & that it is being called in athe correct state. If so it forwards the call to m_player.
3130         * html/HTMLMediaElement.h:
3131         (HTMLMediaElement): Added new methods, signature updates, and onwebitsourcexxx event listener attributes.
3132         * html/HTMLMediaElement.idl: Added new methods, signature updates, and onwebitsourcexxx event listener attributes.
3133         * platform/ContentType.cpp:
3134         (WebCore::ContentType::codecs): A new method that parses the codecs parameter into a vector of codec strings.
3135         (WebCore):
3136         * platform/ContentType.h: 
3137         (ContentType):
3138         * platform/graphics/MediaPlayer.cpp:
3139         (WebCore::NullMediaPlayerPrivate::sourceAddId): Update the signature to take the parsed type and codecs vector.
3140         (WebCore::NullMediaPlayerPrivate::sourceBuffered): Add default implementation for this new method.
3141         (WebCore::NullMediaPlayerPrivate::sourceRemoveId): Remove id parameter name to match other methods.
3142         (WebCore::NullMediaPlayerPrivate::sourceAppend): Updated signature to include id parameter.
3143         (WebCore::NullMediaPlayerPrivate::sourceAbort): Add default implementation for this new method.
3144         (WebCore::NullMediaPlayerPrivate::sourceEndOfStream): Remove parameter name to match other methods.
3145         (WebCore::MediaPlayer::sourceAddId): Update the signature to take the parsed type and codecs vector.
3146         (WebCore):
3147         (WebCore::MediaPlayer::sourceBuffered): Add implementation for new method that forwards the call to the MediaPlayerPrivate interface.
3148         (WebCore::MediaPlayer::sourceAppend): Update method to forward the new id parameter in the signature.
3149         (WebCore::MediaPlayer::sourceAbort): Add implementation for new method that forwards the call to the MediaPlayerPrivate interface.
3150         * platform/graphics/MediaPlayer.h: Update interface to include new methods and updated signatures.
3151         * platform/graphics/MediaPlayerPrivate.h:
3152         (WebCore::MediaPlayerPrivateInterface::sourceAddId): Update the signature to take the parsed type and codecs vector.
3153         (WebCore::MediaPlayerPrivateInterface::sourceBuffered): Add default implementation for new method.
3154         (WebCore::MediaPlayerPrivateInterface::sourceAppend): Update method to forward the new id parameter in the signature.
3155         (WebCore::MediaPlayerPrivateInterface::sourceAbort): Add default implementation for new method.
3156
3157 2012-05-18  Levi Weintraub  <leviw@chromium.org>
3158
3159         Revert to float method of selection rect alignment for line box tree
3160         https://bugs.webkit.org/show_bug.cgi?id=86904
3161
3162         Reviewed by Eric Seidel.
3163
3164         In r117491, we introduced a new method of alignment for the selection rect in the sub-pixel case.
3165         It turns out there is at least one case on Mac where this leaves a gap when painting selection rects
3166         originating in the line box tree. This patch reverts us to the float method for the line box tree,
3167         but retains the LayoutRect snapping for gap rects.
3168
3169         No new tests. Covered by existing tests with sub-pixel layout enabled.
3170
3171         * rendering/EllipsisBox.cpp:
3172         (WebCore::EllipsisBox::paintSelection): Re-enabling the FloatRect flavor of
3173         alignSelectionRectToDevicePixels for the line box tree.
3174         * rendering/InlineTextBox.cpp:
3175         (WebCore::alignSelectionRectToDevicePixels): Moving LayoutRect flavor to RenderBlock.
3176         (WebCore::InlineTextBox::paintSelection): Happily clearing up the bifurcation of algorithms for
3177         sub-pixel layout.
3178         * rendering/InlineTextBox.h: Re-enabling the FloatRect flavor of alignSelectionRectToDevicePixels
3179         for the line box tree.
3180         * rendering/RenderBlock.cpp:
3181         (WebCore::alignSelectionRectToDevicePixels): Re-seating the LayoutRect version of
3182         alignSelectionRectToDevicePixels for use with GapRects.
3183
3184 2012-05-18  Eric Seidel  <eric@webkit.org>
3185
3186         Assertion failure in BidiResolver::commitExplicitEmbedding() (!inIsolate() || m_currentExplicitEmbeddingSequence.isEmpty()) at wikipedia.org
3187         https://bugs.webkit.org/show_bug.cgi?id=76574
3188
3189         Reviewed by Levi Weintraub.
3190
3191         Consider this example:
3192         <span style="unicode-bidi: embed"><span style="unicode-bidi: isolate">a</span></span>
3193         Before this patch, we would ASSERT when computing the text runs, as we would have encountered
3194         the "embed LTR" directive from the outer span, but not try to "commit" this embedding until
3195         we encountered the first charater (an optimization to avoid creating unnecessary bidi embedding contexts).
3196         The ASSERT we were hitting was to ensure that embedding directives inside an isolated span
3197         did not bleed out and effect the surrounding text.
3198
3199         bidi "isolate" support uses a multi-pass Unicode Bidi Algorithm (UBA), which when encountering
3200         "isolated" sections of text ignores them in the first pass, and then goes back and runs
3201         a separate instance of the UBA on those isolated sections.
3202
3203         Once we scan into an "isolate" section (during an outer UBA application) we should not respect
3204         any embedding directives inside that "isolate" section.
3205
3206         However, in the above example, our "don't commit embeddings until we need them" and
3207         "assert we don't respect embeddings inside isolated spans" were conflicting.
3208         The fix is to make sure we always commit any pending embedding directives *before*
3209         we enter an isolate section.
3210
3211         Luckly there was no functional bug here as we were still respecting
3212         the embedding directives we were belatedly committing. After this change we're commiting
3213         those directives at a more appropriate time, thus avoiding the ASSERT.
3214
3215         Test: fast/text/bidi-isolate-embedding-crash.html
3216
3217         * platform/text/BidiResolver.h:
3218         (WebCore::::commitExplicitEmbedding):
3219         * rendering/InlineIterator.h:
3220         (WebCore::notifyObserverEnteredObject):
3221         (WebCore::IsolateTracker::commitExplicitEmbedding):
3222
3223 2012-05-18  Pratik Solanki  <psolanki@apple.com>
3224
3225         BitmapImage::BitmapImage(CGImageRef, ImageObserver*) needs to set m_sizeRespectingOrientation
3226         https://bugs.webkit.org/show_bug.cgi?id=86915
3227
3228         Reviewed by Oliver Hunt.
3229
3230         Set m_sizeRespectingOrientation to be the same as m_size. Otherwise it stays at 0x0 since
3231         this constructor also sets m_haveSize to true for the BitmapImage.
3232
3233         * platform/graphics/cg/ImageCG.cpp:
3234         (WebCore::BitmapImage::BitmapImage):
3235
3236 2012-05-18  Dan Bernstein  <mitz@apple.com>
3237
3238         Build fix after r117607.
3239
3240         * platform/mac/WebCoreNSCellExtras.m:
3241
3242 2012-05-18  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
3243
3244         Fix remaining uses of JSValue::toBoolean()
3245         https://bugs.webkit.org/show_bug.cgi?id=86912
3246
3247         Reviewed by Filip Pizlo.
3248
3249         And unbreak Qt build.
3250
3251         * bindings/scripts/test/JS/JSTestEventTarget.cpp:
3252         (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
3253         (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
3254         * bindings/scripts/test/JS/JSTestObj.cpp:
3255         (WebCore::setJSTestObjCreate):
3256         (WebCore::setJSTestObjReflectedBooleanAttr):
3257         (WebCore::setJSTestObjReflectedCustomBooleanAttr):
3258         (WebCore::jsTestObjPrototypeFunctionAddEventListener):
3259         (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
3260         * bridge/qt/qt_runtime.cpp:
3261         (JSC::Bindings::convertValueToQVariant):
3262         * bridge/qt/qt_runtime_qt4.cpp:
3263         (JSC::Bindings::convertValueToQVariant):
3264
3265 2012-04-27  Filip Pizlo  <fpizlo@apple.com>
3266
3267         DFG should have control flow graph simplification
3268         https://bugs.webkit.org/show_bug.cgi?id=84553
3269
3270         Reviewed by Oliver Hunt.
3271
3272         Merged r115512 from dfgopt.
3273
3274         JSValue::toBoolean(ExecState*) -> JSValue::toBoolean()
3275         
3276         No new tests, because no new behavior.
3277
3278         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
3279         (WebCore::JSSQLStatementErrorCallback::handleEvent):
3280         * bindings/js/JSDOMWindowCustom.cpp:
3281         (WebCore::JSDOMWindow::addEventListener):
3282         (WebCore::JSDOMWindow::removeEventListener):
3283         * bindings/js/JSDataViewCustom.cpp:
3284         (WebCore::getDataViewMember):
3285         * bindings/js/JSDeviceMotionEventCustom.cpp:
3286         (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
3287         * bindings/js/JSDeviceOrientationEventCustom.cpp:
3288         (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
3289         * bindings/js/JSDictionary.cpp:
3290         (WebCore::JSDictionary::convertValue):
3291         * bindings/js/JSDirectoryEntryCustom.cpp:
3292         (WebCore::JSDirectoryEntry::getFile):
3293         (WebCore::JSDirectoryEntry::getDirectory):
3294         * bindings/js/JSDirectoryEntrySyncCustom.cpp:
3295         (WebCore::getFlags):
3296         * bindings/js/JSHTMLCanvasElementCustom.cpp:
3297         (WebCore::JSHTMLCanvasElement::getContext):
3298         * bindings/js/JSInspectorFrontendHostCustom.cpp:
3299         (WebCore::JSInspectorFrontendHost::showContextMenu):
3300         * bindings/js/JSMessageEventCustom.cpp:
3301         (WebCore::handleInitMessageEvent):
3302         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3303         (WebCore::dataFunctionMatrix):
3304         * bindings/js/JSXMLHttpRequestCustom.cpp:
3305         (WebCore::JSXMLHttpRequest::open):
3306         * bindings/js/ScriptDebugServer.cpp:
3307         (WebCore::ScriptDebugServer::hasBreakpoint):
3308         * bindings/scripts/CodeGeneratorJS.pm:
3309         (GenerateEventListenerCall):
3310         (GenerateImplementation):
3311         (JSValueToNative):
3312         * bridge/c/c_utility.cpp:
3313         (JSC::Bindings::convertValueToNPVariant):
3314         * bridge/jni/jni_jsobject.mm:
3315         (JavaJSObject::convertValueToJObject):
3316
3317 2012-05-18  Shawn Singh  <shawnsingh@chromium.org>
3318
3319         [chromium] add back-face visibility check for renderSurfaces
3320         https://bugs.webkit.org/show_bug.cgi?id=86870
3321
3322         Reviewed by Adrienne Walker.
3323
3324         Test added CCLayerTreeHostCommonTest::verifyBackFaceCullingWithPreserves3dForFlatteningSurface
3325
3326         Chromium was not checking back-face visibility for renderSurfaces
3327         that needed it. This patch adds that check and the appropriate
3328         unit test.
3329
3330         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
3331         (WebCore::layerIsInExisting3DRenderingContext):
3332         (WebCore):
3333         (WebCore::subtreeShouldRenderToSeparateSurface):
3334         (WebCore::calculateDrawTransformsAndVisibilityInternal):
3335
3336 2012-05-18  Levi Weintraub  <leviw@chromium.org>
3337
3338         Standalone table-columns should be wrapped in anonymous tables
3339         https://bugs.webkit.org/show_bug.cgi?id=86671
3340
3341         Reviewed by Julien Chaffraix.
3342
3343         The CSS2 spec specifies that table-columns misparented outside of a table or
3344         table-column-group should be wrapped in an anonymous table. Updating 
3345         RenderObject::addChild to follow the spec.
3346         see http://www.w3.org/TR/CSS2/tables.html#anonymous-boxes for details.
3347
3348         Tests: fast/table/table-column-generates-anonymous-table.html
3349                fast/table/table-column-group-generates-anonymous-table.html
3350
3351         * rendering/RenderObject.cpp:
3352         (WebCore::RenderObject::addChild):
3353
3354 2012-05-18  Keyar Hood  <keyar@chromium.org>
3355
3356         Support imageSmoothingEnabled
3357         https://bugs.webkit.org/show_bug.cgi?id=82804
3358
3359         Reviewed by Stephen White.
3360
3361         Test: fast/canvas/canvas-imageSmoothingEnabled.html
3362
3363         Added the imageSmoothingEnabled parameter to the
3364         CanvasRenderingContext2D object. When it is set to false, it sets
3365         InterpolationQuality to InterpolationNone. When set to true, it sets
3366         the InterpolationQuality to DefaultInterpolationQuality (as that is the
3367         only other value used).
3368
3369         * html/canvas/CanvasRenderingContext2D.cpp:
3370         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
3371         (WebCore::CanvasRenderingContext2D::webkitImageSmoothingEnabled):
3372         (WebCore):
3373         (WebCore::CanvasRenderingContext2D::setWebkitImageSmoothingEnabled):
3374         * html/canvas/CanvasRenderingContext2D.h:
3375         (CanvasRenderingContext2D):
3376         * html/canvas/CanvasRenderingContext2D.idl:
3377
3378 2012-05-18  Terry Anderson  <tdanderson@chromium.org>
3379
3380         Percentage height replaced elements sometimes cause overflow of table contents
3381         https://bugs.webkit.org/show_bug.cgi?id=85581
3382
3383         Reviewed by Eric Seidel.
3384
3385         Test: fast/replaced/table-replaced-element.html
3386
3387         * rendering/RenderBox.cpp:
3388         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
3389         This change guarantees that the containing block of a replaced element with percentage
3390         height will be marked as having a percentage height descendant.
3391
3392 2012-05-18  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
3393
3394         [Qt] REGRESSION(r117501): It made almost all tests assert in debug mode
3395         https://bugs.webkit.org/show_bug.cgi?id=86854
3396
3397         Reviewed by Andreas Kling.
3398
3399         Initialize boolean flag in constructor and recheck the flag which can be 
3400         modified by another thread under mutex.
3401
3402         No new tests, fixes regression that caused layout test crash.
3403
3404         * loader/icon/IconDatabase.cpp:
3405         (WebCore::IconDatabase::IconDatabase):
3406         (WebCore::IconDatabase::syncThreadMainLoop):
3407
3408 2012-05-18  Christophe Dumez  <christophe.dumez@intel.com>
3409
3410         [EFL] Web Intents code is not compiling
3411         https://bugs.webkit.org/show_bug.cgi?id=85364
3412
3413         Reviewed by Adam Barth.
3414
3415         Add missing implementation for
3416         JSIntentConstructor::constructJSIntent() in JS bindings.
3417
3418         * CMakeLists.txt:
3419         * UseJSC.cmake:
3420         * bindings/js/JSIntentConstructor.cpp: Added.
3421         (WebCore):
3422         (WebCore::JSIntentConstructor::constructJSIntent):
3423
3424 2012-05-18  Joe Thomas  <joethomas@motorola.com>
3425
3426         background-size specified by a single value in background shorthand fails to parse.
3427         https://bugs.webkit.org/show_bug.cgi?id=86739
3428
3429         Reviewed by Tony Chang.
3430
3431         While parsing the background shorthand property, if the second parsedValue is not a valid unit,
3432         parseFillSize should return the first parsedValue instead of failing.
3433
3434         * css/CSSParser.cpp:
3435         (WebCore::CSSParser::parseFillSize):
3436
3437 2012-05-18  Tony Chang  <tony@chromium.org>
3438
3439         remove the CSS_GRID_LAYOUT compiler define, but default grid layout to off
3440         https://bugs.webkit.org/show_bug.cgi?id=86767
3441
3442         Reviewed by Ojan Vafai.
3443
3444         We disable grid by ignoring the display type at CSS parse time.
3445
3446         Test: fast/css-grid-layout/grid-disabled-by-default.html
3447
3448         * Configurations/FeatureDefines.xcconfig:
3449         * css/CSSComputedStyleDeclaration.cpp: Remove compile checks.
3450         (WebCore):
3451         (WebCore::valueForGridPosition):
3452         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3453         * css/CSSParser.cpp:
3454         (WebCore::CSSParserContext::CSSParserContext):
3455         (WebCore::operator==):
3456         (WebCore::isValidKeywordPropertyAndValue): Move display into parseValue.
3457         (WebCore::isKeywordPropertyID):
3458         (WebCore::CSSParser::parseValue): Ignore while parsing if not enabled.
3459         (WebCore::CSSParser::parseGridTrackList):
3460         (WebCore::CSSParser::cssGridLayoutEnabled):
3461         (WebCore):
3462         * css/CSSParser.h:
3463         * css/CSSParserMode.h:
3464         (CSSParserContext):
3465         * css/CSSPrimitiveValueMappings.h:
3466         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3467         * css/CSSProperty.cpp:
3468         (WebCore::CSSProperty::isInheritedProperty):
3469         * css/CSSPropertyNames.in:
3470         * css/CSSValueKeywords.in:
3471         * css/StyleResolver.cpp:
3472         (WebCore::StyleResolver::collectMatchingRulesForList):
3473         * dom/Document.cpp:
3474         (WebCore::Document::cssGridLayoutEnabled): Added to keep track of whether grid is enabled or not.
3475         (WebCore):
3476         * dom/Document.h:
3477         * page/Settings.cpp:
3478         (WebCore::Settings::Settings):
3479         * page/Settings.h:
3480         (WebCore::Settings::setCSSGridLayoutEnabled): Added.
3481         (WebCore::Settings::cssGridLayoutEnabled): Added.
3482         (Settings):
3483         * rendering/RenderObject.cpp:
3484         (WebCore::RenderObject::createObject):
3485         * rendering/style/RenderStyle.cpp:
3486         (WebCore::RenderStyle::RenderStyle):
3487         (WebCore::RenderStyle::diff):
3488         * rendering/style/RenderStyle.h:
3489         * rendering/style/RenderStyleConstants.h:
3490         * rendering/style/StyleGridData.cpp:
3491         * rendering/style/StyleGridData.h:
3492         * rendering/style/StyleGridItemData.cpp:
3493         * rendering/style/StyleGridItemData.h:
3494         * rendering/style/StyleRareNonInheritedData.cpp:
3495         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3496         (WebCore::StyleRareNonInheritedData::operator==):
3497         * rendering/style/StyleRareNonInheritedData.h:
3498         (WebCore):
3499         (StyleRareNonInheritedData):
3500
3501 2012-05-18  Martin Robinson  <mrobinson@igalia.com>
3502
3503         OOM running webgl/sdk/tests/conformance/context/context-creation-and-destruction.html
3504         https://bugs.webkit.org/show_bug.cgi?id=80509
3505
3506         Reviewed by Alejandro G. Castro.
3507
3508         No new tests. This is covered by by context-creation-and-destruction.html
3509         Khronos conformance test which will be part of the WebKit repository once
3510         bug 44310 is closed.
3511
3512         Rework the ownership of GLContexts. Instead of having them managed by the
3513         state of window mapping or removed by calling a static method, always have
3514         them owned by the callers. This makes all GLContext creators factory methods
3515         that return PassOwnPtr.
3516
3517         This change also switches the sharing context for a WebView from the window
3518         context to a global shared context. This simplifies things greatly, allowing
3519         the removal of GLContextGtk and makes the factory change easier.
3520
3521         * GNUmakefile.list.am: Remove GLContextGtk.cpp from the source list.
3522         * platform/graphics/cairo/GLContext.cpp:
3523         (WebCore::GLContext::sharingContext): Added, getter for the global sharing context.
3524         (WebCore::GLContext::createContextForWindow): Added, a factory method for creating
3525         window contexts.
3526         (WebCore::GLContext::createOffscreenContext): Allow passing a sharing context here.
3527         (WebCore::GLContext::makeContextCurrent): Assert that this is the main thread, to
3528         increase the guarantee that we are only using these contexts on the main thread.
3529         (WebCore::GLContext::getCurrent): Ditto.
3530         * platform/graphics/cairo/GLContext.h: Update the above method signatures and remove
3531         createOffscreenContext, which has just been subsumed into the other factory methods.
3532         * platform/graphics/cairo/GraphicsContext3DCairo.cpp: The HostWindow is no longer needed
3533         to get the sharing context, so we can simplify things quite a bit and make a platform
3534         independent implementation here.
3535         * platform/graphics/cairo/GraphicsContext3DPrivate.cpp: Ditto.
3536         * platform/graphics/glx/GLContextGLX.cpp: Modify all the factory methods to return PassOwnPtr.
3537         * platform/graphics/glx/GLContextGLX.h: Ditto.
3538         * platform/graphics/gtk/GLContextGtk.cpp: Removed.
3539
3540 2012-05-18  Pablo Flouret  <pablof@motorola.com>
3541
3542         Script elements inserted while fragment parsing should have their "already started" flag set.
3543         https://bugs.webkit.org/show_bug.cgi?id=86376
3544
3545         Reviewed by Ryosuke Niwa.
3546
3547         Step 3 of:
3548         http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#scriptTag
3549
3550         Test: fast/parser/script-already-started-flag-in-fragment-parsing-mode.html
3551
3552         * html/HTMLScriptElement.cpp:
3553         (WebCore::HTMLScriptElement::create):
3554         * html/HTMLScriptElement.h:
3555         (HTMLScriptElement):
3556         * html/parser/HTMLConstructionSite.cpp:
3557         (WebCore::HTMLConstructionSite::insertScriptElement):
3558
3559 2012-05-18  Shezan Baig  <shezbaig.wk@gmail.com>
3560
3561         Expose FrameSelection::absoluteCaretBounds via window.internals
3562         https://bugs.webkit.org/show_bug.cgi?id=86390
3563
3564         Reviewed by Ryosuke Niwa.
3565
3566         Add 'absoluteCaretBounds' method to Internals, which returns the
3567         FrameSelection::absoluteCaretBounds.
3568
3569         Test: editing/selection/internal-caret-rect.html
3570
3571         * WebCore.exp.in: Export the necessary symbols.
3572         * testing/Internals.cpp:
3573         (WebCore::Internals::absoluteCaretBounds): Implementation of new method.
3574         (WebCore):
3575         * testing/Internals.h: Declare the new method.
3576         (Internals):
3577         * testing/Internals.idl: Declare the new method.
3578
3579 2012-05-18  Dan Bernstein  <mitz@apple.com>
3580
3581         <rdar://problem/11467250> No focus ring around popup buttons
3582
3583         Reviewed by Anders Carlsson.
3584
3585         The exact same issue was fixed for buttons drawn in ThemeMac.mm in <rdar://problem/10542095>.
3586         This change extends the fix to also cover buttons drawn in RenderThemeMac.mm.
3587
3588         * WebCore.xcodeproj/project.pbxproj: Added WebCoreNSCellExtras.{h.m}.
3589         * platform/mac/ThemeMac.mm: Removed the definitions of BUTTON_CELL_DRAW_WITH_FRAME_DRAWS_FOCUS_RING
3590         and -[NSCell _web_drawFocusRingWithFrame:inView:] from here. They are now in WebCoreNSCellExtras.
3591         * platform/mac/WebCoreNSCellExtras.h: Added.
3592         * platform/mac/WebCoreNSCellExtras.m: Added.
3593         (-[NSCell _web_drawFocusRingWithFrame:inView:]): Moved from ThemeMac.mm here.
3594         * rendering/RenderThemeMac.mm:
3595         (WebCore::RenderThemeMac::paintMenuList): Changed to use -_web_drawFocusRingWithFrame:inView:.
3596         (WebCore::RenderThemeMac::setPopupButtonCellState): Removed call to updateFocusedState() when
3597         the focus ring is drawn separately.
3598
3599 2012-05-18  Philippe Normand  <pnormand@igalia.com>
3600
3601         [GStreamer] Fix early return of the mimeTypeCache function after r117207.
3602
3603         Rubber-stamped by Martin Robinson.
3604
3605         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Set
3606         typeListInitialized to true after the cache has been filled so
3607         that next call to the function goes through the early return path.
3608
3609 2012-05-18  Martin Robinson  <mrobinson@igalia.com>
3610
3611         Get IndexedDB closer to building for GTK+.
3612
3613         Reviewed by Philippe Normand.
3614
3615         No new tests. This is only a build fix.
3616
3617         * GNUmakefile.am: Add the appropriate option to enable LevelDB support.
3618         * GNUmakefile.list.am: Add missing indexed database files to the source list.
3619
3620 2012-05-18  Dan Bernstein  <mitz@apple.com>
3621
3622         Removed stale references in the Xcode project after r117369.
3623
3624         * WebCore.xcodeproj/project.pbxproj: Removed references to CSSStyleDeclaration.cpp.
3625
3626 2012-05-18  Vsevolod Vlasov  <vsevik@chromium.org>
3627
3628         Web Inspector: Add resource to UISourceCode constructor.
3629         https://bugs.webkit.org/show_bug.cgi?id=86853
3630
3631         Reviewed by Pavel Feldman.
3632
3633         This is a first step of merging resource revision support into UISourceCode.
3634
3635         * inspector/front-end/CompilerScriptMapping.js:
3636         * inspector/front-end/DebuggerResourceBinding.js:
3637         (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource):
3638         (WebInspector.DebuggerResourceBinding.setScriptSource):
3639         * inspector/front-end/DebuggerScriptMapping.js:
3640         (WebInspector.DebuggerScriptMapping.prototype._debuggerReset):
3641         * inspector/front-end/JavaScriptSource.js:
3642         * inspector/front-end/RawSourceCode.js:
3643         (WebInspector.RawSourceCode.prototype._createUISourceCode):
3644         * inspector/front-end/ResourceScriptMapping.js:
3645         (WebInspector.ResourceScriptMapping.prototype.addScript):
3646         * inspector/front-end/Script.js:
3647         (WebInspector.Script.prototype.isAnonymousScript):
3648         * inspector/front-end/ScriptSnippetModel.js:
3649         (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
3650         (WebInspector.SnippetJavaScriptSource):
3651         * inspector/front-end/StylesPanel.js:
3652         (WebInspector.StyleSource):
3653         (WebInspector.StyleSourceFrame):
3654         (WebInspector.StyleSourceFrame.prototype.commitEditing):
3655         (WebInspector.StyleSourceFrame.prototype.afterTextChanged):
3656         (WebInspector.StyleSourceFrame.prototype._contentChanged):
3657         * inspector/front-end/UISourceCode.js:
3658         (WebInspector.UISourceCode):
3659         (WebInspector.UISourceCode.prototype.resource):
3660
3661 2012-05-18  Yury Semikhatsky  <yurys@chromium.org>
3662
3663         Web Inspector: error when expanding an HTMLAllCollection object in the console
3664         https://bugs.webkit.org/show_bug.cgi?id=86741
3665
3666         Reviewed by Pavel Feldman.
3667
3668         RuntimeAgent.callFunctionOn should work correcly with arguments of type HTMLAllCollection.
3669
3670         * inspector/InjectedScriptSource.js:
3671
3672 2012-05-18  Pavel Feldman  <pfeldman@chromium.org>
3673
3674         Web Inspector: resource revision content is not rendered properly. Resource content is shown instead.
3675         https://bugs.webkit.org/show_bug.cgi?id=86856
3676
3677         Reviewed by Vsevolod Vlasov.
3678
3679         * inspector/front-end/ResourceView.js:
3680         (WebInspector.ResourceRevisionSourceFrame):
3681         (WebInspector.ResourceRevisionSourceFrame.prototype.get resource):
3682
3683 2012-05-18  Yi Shen  <yi.4.shen@nokia.com>
3684
3685         REGRESSION (r102553): Smart links do not work
3686         https://bugs.webkit.org/show_bug.cgi?id=85463
3687
3688         Reviewed by NOBODY Ryosuke Niwa.
3689
3690         To fix the regression of smart links, we need to check TextCheckingTypeLink option in
3691         Editor::markAndReplaceFor().
3692
3693         Test: editing/inserting/typing-space-to-trigger-smart-link.html
3694
3695         * editing/Editor.cpp:
3696         (WebCore::Editor::markAndReplaceFor):
3697
3698 2012-05-18  Alexander Pavlov  <apavlov@chromium.org>
3699
3700         Web Inspector: empty CSS Declaration is generated by clicking the left space of 'user agent stylesheet' on Styles sidebar of Elements panel
3701         https://bugs.webkit.org/show_bug.cgi?id=86850
3702
3703         Reviewed by Yury Semikhatsky.
3704
3705         * inspector/front-end/StylesSidebarPane.js:
3706         (WebInspector.StylePropertiesSection.prototype._handleSelectorContainerClick):
3707
3708 2012-05-18  Yury Semikhatsky  <yurys@chromium.org>
3709
3710         Unreviewed. Remove console.error() call committed by mistake.
3711
3712         * inspector/front-end/View.js:
3713         (WebInspector.View._assert):
3714
3715 2012-05-18  Pavel Feldman  <pfeldman@chromium.org>
3716
3717         Web Inspector: live edit resets cursor to 0,0
3718         https://bugs.webkit.org/show_bug.cgi?id=86851
3719
3720         Reviewed by Vsevolod Vlasov.
3721
3722         * inspector/front-end/DebuggerResourceBinding.js:
3723         (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource):
3724         (WebInspector.DebuggerResourceBinding.setScriptSource):
3725
3726 2012-05-18  Yury Semikhatsky  <yurys@chromium.org>
3727
3728         Web Inspector: exception in console when pressing % button in CPU profile view
3729         https://bugs.webkit.org/show_bug.cgi?id=86849
3730
3731         Reviewed by Pavel Feldman.
3732
3733         Use root node to get children, not DataGrid object.
3734
3735         * inspector/front-end/CPUProfileView.js:
3736         (WebInspector.CPUProfileView.prototype.refreshVisibleData):
3737
3738 2012-05-18  Yury Semikhatsky  <yurys@chromium.org>
3739
3740         Web Inspector: remove unnecessary indirection from profile types
3741         https://bugs.webkit.org/show_bug.cgi?id=86845
3742
3743         Reviewed by Pavel Feldman.
3744
3745         Introduced CSSProfileHeader and CPUProfileHeader, moved view creation from
3746         the type to corresponding profile headers. Removed some inderection and
3747         private fields assigned in random places. Added type annotations.
3748
3749         * inspector/front-end/CPUProfileView.js:
3750         (WebInspector.CPUProfileType.prototype.createTemporaryProfile):
3751         (WebInspector.CPUProfileType.prototype.createProfile):
3752         (WebInspector.CPUProfileHeader):
3753         (WebInspector.CPUProfileHeader.prototype.createSidebarTreeElement):
3754         (WebInspector.CPUProfileHeader.prototype.createView):
3755         * inspector/front-end/CSSSelectorProfileView.js:
3756         (WebInspector.CSSSelectorProfileType.prototype.stopRecordingProfile):
3757         (WebInspector.CSSSelectorProfileType.prototype.createTemporaryProfile):
3758         (WebInspector.CSSSelectorProfileType.prototype.createProfile):
3759         (WebInspector.CSSProfileHeader):
3760         (WebInspector.CSSProfileHeader.prototype.createSidebarTreeElement):
3761         (WebInspector.CSSProfileHeader.prototype.createView):
3762         * inspector/front-end/HeapSnapshotView.js:
3763         (WebInspector.HeapSnapshotProfileType.prototype.createTemporaryProfile):
3764         (WebInspector.HeapSnapshotProfileType.prototype.createProfile):
3765         (WebInspector.HeapProfileHeader):
3766         (WebInspector.HeapProfileHeader.prototype.createSidebarTreeElement):
3767         (WebInspector.HeapProfileHeader.prototype.createView):
3768         (WebInspector.HeapProfileHeader.prototype.load):
3769         (WebInspector.HeapProfileHeader.prototype.saveToFile):
3770         * inspector/front-end/ProfileLauncherView.js:
3771         (WebInspector.ProfileLauncherView):
3772         (WebInspector.ProfileLauncherView.prototype.addProfileType):
3773         (WebInspector.ProfileLauncherView.prototype._profileTypeChanged):
3774         * inspector/front-end/ProfilesPanel.js:
3775         (WebInspector.ProfileType):
3776         (WebInspector.ProfileHeader):
3777         (WebInspector.ProfileHeader.prototype.profileType):
3778         (WebInspector.ProfileHeader.prototype.createSidebarTreeElement):
3779         (WebInspector.ProfileHeader.prototype.existingView):
3780         (WebInspector.ProfileHeader.prototype.view):
3781         (WebInspector.ProfileHeader.prototype.createView):
3782         (WebInspector.ProfilesPanel.prototype._reset):
3783         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
3784         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
3785         (WebInspector.ProfilesPanel.prototype.showProfile):
3786         (WebInspector.ProfilesPanel.prototype.getProfiles):
3787         (WebInspector.ProfilesPanel.prototype.findTemporaryProfile):
3788         (WebInspector.ProfilesPanel.prototype._searchableViews):
3789         * inspector/front-end/View.js:
3790         (WebInspector.View._assert):
3791
3792 2012-05-18  Kentaro Hara  <haraken@chromium.org>
3793
3794         [V8][Refactoring] Remove V8Proxy::throwError(const char*, ErrorType, v8::Isolate*=0)
3795         https://bugs.webkit.org/show_bug.cgi?id=86802
3796
3797         Reviewed by Adam Barth.
3798
3799         As commented here (https://bugs.webkit.org/show_bug.cgi?id=84074#c5),
3800         I am refactoring a series of confusing throwError()s. This would be
3801         the final patch for the refactoring.
3802
3803         This patch removes V8Proxy::throwError(const char*, ErrorType, v8::Isolate*=0).
3804         Also this patch refactors up a couple of throwError()s that I've forgot to
3805         refactor in the previous patches.
3806
3807         No tests. No change in behavior.
3808
3809         * bindings/v8/V8NodeFilterCondition.cpp:
3810         (WebCore::V8NodeFilterCondition::acceptNode):
3811         * bindings/v8/V8Proxy.h:
3812         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
3813         (WebCore::V8ArrayBuffer::constructorCallback):
3814         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
3815         (WebCore::constructWebGLArray):
3816         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
3817         (WebCore::V8SQLResultSetRowList::itemCallback):
3818
3819 2012-05-18  MORITA Hajime <morrita@google.com>
3820
3821         Unreviewed attempt to fix build breakage on r117572
3822
3823         * editing/Editor.cpp:
3824         (WebCore::Editor::willDetachPage):
3825
3826 2012-05-18  MORITA Hajime  <morrita@google.com>
3827
3828         https://bugs.webkit.org/show_bug.cgi?id=85515
3829         Stale frame in WebCore::SpellChecker::didCheckSucceeded
3830
3831         Reviewed by Ryosuke Niwa.
3832
3833         Added EditorClient::frameWillDetachPage() notification to give a
3834         change to invalidate pending spellcheck requests on the client.
3835
3836         Test: editing/spelling/spellcheck-async-remove-frame.html
3837
3838         * editing/Editor.cpp:
3839         (WebCore::Editor::Editor):
3840         * editing/Editor.h:
3841         (Editor):
3842         * loader/EmptyClients.h:
3843         (WebCore::EmptyEditorClient::frameWillDetachPage):
3844         * page/EditorClient.h:
3845         (EditorClient):
3846
3847 2012-05-18  Pavel Feldman  <pfeldman@chromium.org>
3848
3849         Web Inspector: add ContentProvider::contentType and use it when rendering navigator tree.
3850         https://bugs.webkit.org/show_bug.cgi?id=86833
3851
3852         Reviewed by Vsevolod Vlasov.
3853
3854         Added ContentProvider::contentType, regactored NavigatorView to use the icon defined by the content type.
3855
3856         * inspector/front-end/CompilerScriptMapping.js:
3857         * inspector/front-end/ContentProvider.js:
3858         (WebInspector.ContentProvider.prototype.contentType):
3859         * inspector/front-end/ContentProviders.js:
3860         (WebInspector.ConcatenatedScriptsContentProvider.prototype.contentType):
3861         (WebInspector.CompilerSourceMappingContentProvider):
3862         (WebInspector.CompilerSourceMappingContentProvider.prototype.contentType):
3863         (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
3864         (WebInspector.StaticContentProvider):
3865         (WebInspector.StaticContentProvider.prototype.contentType):
3866         (WebInspector.StaticContentProvider.prototype.requestContent):
3867         * inspector/front-end/NavigatorView.js:
3868         (WebInspector.NavigatorTreeOutline.prototype.scriptTreeElements):
3869         (WebInspector.NavigatorSourceTreeElement):
3870         * inspector/front-end/NetworkRequest.js:
3871         (WebInspector.NetworkRequest.prototype.contentType):
3872         * inspector/front-end/Resource.js:
3873         (WebInspector.Resource.prototype.contentType):
3874         (WebInspector.Resource.prototype.canonicalMimeType):
3875         (WebInspector.ResourceRevision.prototype.contentType):
3876         * inspector/front-end/ResourceType.js:
3877         (WebInspector.ResourceType.prototype.toString):
3878         (WebInspector.ResourceType.prototype.canonicalMimeType):
3879         * inspector/front-end/Script.js:
3880         (WebInspector.Script.prototype.contentType):
3881         * inspector/front-end/ScriptSnippetModel.js:
3882         (WebInspector.SnippetContentProvider):
3883         * inspector/front-end/StylesPanel.js:
3884         * inspector/front-end/UISourceCode.js:
3885         (WebInspector.UISourceCode.prototype.contentType):
3886         * inspector/front-end/navigatorView.css:
3887         (.navigator-stylesheet-tree-item .icon):
3888         (.navigator-document-tree-item .icon):
3889
3890 2012-05-18  Sheriff Bot  <webkit.review.bot@gmail.com>
3891
3892         Unreviewed, rolling out r117556.
3893         http://trac.webkit.org/changeset/117556
3894         https://bugs.webkit.org/show_bug.cgi?id=86825
3895
3896         Wrong fix. IE still adds 1px padding. We're missing that in
3897         textarea (Requested by rniwa on #webkit).
3898
3899         * css/html.css:
3900         (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
3901         * rendering/RenderTextControlSingleLine.cpp:
3902         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
3903
3904 2012-05-17  Pavel Feldman  <pfeldman@chromium.org>
3905
3906         Web Inspector: remove File abstraction from the AdvancedSearchController, migrate it to UISourceCode.
3907         https://bugs.webkit.org/show_bug.cgi?id=86809
3908
3909         Reviewed by Yury Semikhatsky.
3910
3911         This change migrates AdvancedSearchController from "Object" to "UISourceCode".
3912         I don't see why we need this abstraction and as a side effect, it makes search
3913         across scripts work for styles.
3914
3915         * English.lproj/localizedStrings.js:
3916         * inspector/front-end/AdvancedSearchController.js:
3917         (WebInspector.SearchResult):
3918         (WebInspector.FileBasedSearchResultsPane.prototype._createAnchor):
3919         (WebInspector.FileBasedSearchResultsPane.prototype.addSearchResult):
3920         (WebInspector.FileBasedSearchResultsPane.prototype._appendSearchMatches):
3921         (WebInspector.FileBasedSearchResultsPane.prototype._regexMatchRanges):
3922         (WebInspector.FileBasedSearchResultsPane.SearchResult):
3923         * inspector/front-end/ScriptsSearchScope.js:
3924         (WebInspector.ScriptsSearchScope.prototype.createSearchResultsPane):
3925         * inspector/front-end/inspector.js:
3926         (WebInspector._registerShortcuts):
3927
3928 2012-05-17  Yury Semikhatsky  <yurys@chromium.org>
3929
3930         Web Inspector: add an option to show last N hidden children of node in heap profiler
3931         https://bugs.webkit.org/show_bug.cgi?id=86757
3932
3933         Reviewed by Pavel Feldman.
3934
3935         Renamed "Show next N" to "Show N before" and added "Show N after" button. Also
3936         when all 3 buttons would have equal effect there is now only "Show all N" button.
3937
3938         * English.lproj/localizedStrings.js:
3939         * inspector/front-end/ShowMoreDataGridNode.js:
3940         (WebInspector.ShowMoreDataGridNode):
3941         (WebInspector.ShowMoreDataGridNode.prototype._showLastChunk):
3942         (WebInspector.ShowMoreDataGridNode.prototype._updateLabels):
3943         (WebInspector.ShowMoreDataGridNode.prototype.createCells):
3944
3945 2012-05-17  Ryosuke Niwa  <rniwa@webkit.org>
3946
3947         WebKit erroneously add 1px padding in input elements
3948         https://bugs.webkit.org/show_bug.cgi?id=86784
3949
3950         Reviewed by Kent Tamura.
3951
3952         Fixed the bug by removing the code that added left and right paddings in input elements.
3953         The code was added in r13567 to match a very old version of Internet Explorer but this quirk
3954         does not seem to exists in IE9 (both in quirks and standard modes).
3955
3956         A lot of tests need to be rebaselined due to 1px difference inside input elements, and 2px
3957         differences for the width of input elements. (In some extreme cases, line breaking changed
3958         due to the width change).
3959
3960         Test: fast/forms/input-textarea-padding-match.html
3961
3962         * css/html.css:
3963         (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
3964         * rendering/RenderTextControlSingleLine.cpp:
3965         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
3966
3967 2012-05-18  Zalan Bujtas  <zbujtas@gmail.com>
3968
3969         [Qt] Gesture tap highlighter needs to take overflow clip into account.
3970         https://bugs.webkit.org/show_bug.cgi?id=84989
3971
3972         Reviewed by Kenneth Rohde Christiansen.
3973
3974         Apply overflow clip on the focus ring if needed.
3975
3976         Follow up patches are needed to address the following cases.
3977
3978         [Qt] Gesture tap highlighter should take parent iframe's transform into account.
3979         https://bugs.webkit.org/show_bug.cgi?id=86645
3980
3981         [Qt] Gesture tap highlighter needs to take frame clipping into account.
3982         https://bugs.webkit.org/show_bug.cgi?id=86646
3983
3984         [Qt] Gesture tap highlighter's overflow clip is not always correct when
3985         nested enclosing containers have transforms.
3986         https://bugs.webkit.org/show_bug.cgi?id=86641
3987
3988         Manual test: ManualTests/qt/tap-highlighting-overflow-hidden.html
3989
3990         * page/GestureTapHighlighter.cpp:
3991         (WebCore::GestureTapHighlighter::pathForNodeHighlight):
3992
3993 2012-05-17  Carlos Garcia Campos  <cgarcia@igalia.com>
3994
3995         [GTK] KURL::fileSystemPath() should strip the query of the uri
3996         https://bugs.webkit.org/show_bug.cgi?id=86721
3997
3998         Reviewed by Martin Robinson.
3999
4000         * platform/gtk/KURLGtk.cpp:
4001         (WebCore::KURL::fileSystemPath): Use the already parsed path to
4002         create the GFile instead of the whole URL string. The parsed path
4003         doesn't include neither the fragment (#) nor the query (?) parts.
4004
4005 2012-05-17  Kentaro Hara  <haraken@chromium.org>
4006
4007         [V8][Refactoring] Remove V8Proxy::deletionNotHandledByInterceptor()
4008         https://bugs.webkit.org/show_bug.cgi?id=86803
4009
4010         Reviewed by Dimitri Glazkov.
4011
4012         V8Proxy::deletionNotHandledByInterceptor() is used by V8StorageCustom.cpp
4013         only, just in order to return v8::Handle<v8::Boolean>(). In such cases,
4014         other custom bindings are hard-coding 'return v8::Handle<v8::Boolean>()'.
4015         Thus we can hard-code 'return v8::Handle<v8::Boolean>()' in V8StorageCustom.cpp
4016         too, and remove V8Proxy::deletionNotHandledByInterceptor().
4017
4018         No tests. No change in behavior.
4019
4020         * bindings/v8/V8Proxy.h:
4021         * bindings/v8/custom/V8StorageCustom.cpp:
4022         (WebCore::storageDeleter):
4023
4024 2012-05-17  Ilya Tikhonovsky  <loislo@chromium.org>
4025
4026         Web Inspector: speed-up markQueriableHeapObjects function.
4027         https://bugs.webkit.org/show_bug.cgi?id=86732
4028
4029         Reviewed by Yury Semikhatsky.
4030
4031         * inspector/front-end/HeapSnapshot.js: