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