[Qt] Port convertQVariantToValue to use the JSC C API
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-08-22  Simon Hausmann  <simon.hausmann@nokia.com>
2
3         [Qt] Port convertQVariantToValue to use the JSC C API
4         https://bugs.webkit.org/show_bug.cgi?id=93889
5
6         Reviewed by Kenneth Rohde Christiansen.
7
8         Based on patch by Noam Rosenthal.
9
10         This patch is another step towards reducing the use of internal JSC API
11         in the Qt bridge. Most of the conversion from QVariant to JS values is
12         straight-forward. The biggest behavioural change is that QVariant lists
13         are converted on-the-spot instead of lazily. Bug #94691 tracks fixing
14         that.
15
16         * bridge/qt/qt_instance.cpp:
17         (Bindings):
18         (JSC::Bindings::QtField::valueFromInstance):
19         * bridge/qt/qt_runtime.cpp:
20         (JSC::Bindings::convertQVariantToValue):
21         (JSC::Bindings::QtRuntimeMethod::call):
22         (JSC::Bindings::QtConnectionObject::execute):
23         (JSC::Bindings::::valueAt):
24         * bridge/qt/qt_runtime.h:
25         (Bindings):
26
27 2012-08-22  Simon Hausmann  <simon.hausmann@nokia.com>
28
29         [Qt] REGRESSION(r125428): fast/profiler/nested-start-and-stop-profiler.html fails
30         https://bugs.webkit.org/show_bug.cgi?id=93897
31
32         Reviewed by Kenneth Rohde Christiansen.
33
34         Before r125428 run-time methods (wrapped signals, slots or invokable
35         functions) were subclasses of JSInternalFunction and therefore real
36         function objects in the JavaScript sense. r125428 changed them to be
37         just callable objects, but they did not have Function.prototype as
38         prototype anymore for example nor was their name correct (resulting in
39         a layout test failure).
40
41         This patch changes run-time methods back to being real function objects
42         that have a correct name and have Function.prototype in their prototype
43         change
44
45         The objects returned by JSObjectMakeFunctionWithCallbackInjected are
46         light-weight internal function objects that do not support
47         JSObject{Set/Get}Private. Therefore we inject our own prototype right
48         before the Function.prototype prototype, which uses private data to
49         store a pointer to our C++ QtRuntimeMethod object.  This complicates
50         the retrieval of the pointer to that instance slightly, which is why
51         this patch introduces the toRuntimeMethod convenience function that
52         looks up our prototype first and does a check for type-safety.
53
54         At the same time the patch removes the length properties from the
55         run-time method itself as well as connect/disconnect.  The length
56         property on a function signifies the number of arguments, but in all
57         three cases that number is actually variable, because of overloading.
58         That is why we choose not to expose it in the first place.
59
60         In QtInstance we cache the JS wrapper objects for QtRuntimeMethod in a
61         JSWeakObjectMap. JSWeakObjectMap requires the stored objects to be
62         either the result of JSObjectMake or the global object of a context ref
63         (AFAICS), which is ensured using an ASSERT. Objects created via
64         JSObjectMakeFunctionWithCalllback do not fall into the required
65         category, cause a failing assertion and can therefore not be stored in
66         the weak object map.
67
68         Consequently this patch removes the use of JSWeakObjectMap again and
69         goes back to the old way of using the internal Weak<> API, for the time
70         being. In a future patch the storage will be simplified to not require
71         the use of a weak object map cache for the run-time methods anymore.
72
73         * bridge/qt/qt_instance.cpp: Remove unused WeakMap code.
74         * bridge/qt/qt_instance.h: Remove method cache.
75         (QtInstance):
76         * bridge/qt/qt_runtime.cpp:
77         (JSC::Bindings::prototypeForSignalsAndSlots):
78         (JSC::Bindings::QtRuntimeMethod::call):
79         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
80         (JSC::Bindings::QtRuntimeMethod::toRuntimeMethod):
81         (Bindings):
82         (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
83         * bridge/qt/qt_runtime.h:
84         (QtRuntimeMethod): Remove unused member variables.
85
86 2012-08-22  Christophe Dumez  <christophe.dumez@intel.com>
87
88         window.postMessage() / MessagePort.postMessage() throw wrong exception for invalid ports argument
89         https://bugs.webkit.org/show_bug.cgi?id=94581
90
91         Reviewed by Kentaro Hara.
92
93         Update JSC and V8 implementations of window.postMessage() and
94         MessagePort.postMessage() in order to throw an
95         INVALID_STATE_ERR instead of a DATA_CLONE_ERR when values
96         in the "ports" argument are invalid. Additionally, we now
97         check for duplicate ports and throw an exception for this
98         case as well.
99
100         This change was made to comply with the latest HTML5
101         specification at:
102         http://www.w3.org/TR/html5/comms.html
103
104         No new tests, already tested by:
105         fast/events/constructors/message-event-constructor.html
106         fast/events/message-port-clone.html
107         fast/events/message-port-multi.html
108         fast/workers/worker-context-multi-port.html
109         fast/workers/worker-multi-port.html
110
111         * bindings/js/JSMessagePortCustom.cpp:
112         (WebCore::fillMessagePortArray):
113         * bindings/v8/V8Utilities.cpp:
114         (WebCore::extractTransferables):
115         * dom/MessagePort.cpp:
116         (WebCore::MessagePort::postMessage):
117
118 2012-08-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
119
120         [TouchAdjustment] Adjust to word or selection
121         https://bugs.webkit.org/show_bug.cgi?id=94449
122
123         Reviewed by Antonio Gomes.
124
125         Makes each separate word a separate subtarget when context menu triggers
126         selections, and only the selected part of a partial selected node a 
127         target when selections are not overridden.
128
129         Fix of reverted commit r126026, fix misplaced ASSERT.
130
131         Test: touchadjustment/context-menu-text-subtargets.html
132
133         * page/TouchAdjustment.cpp:
134         (TouchAdjustment):
135         (WebCore::TouchAdjustment::providesContextMenuItems):
136         (WebCore::TouchAdjustment::appendQuadsToSubtargetList):
137         (WebCore::TouchAdjustment::appendBasicSubtargetsForNode):
138         (WebCore::TouchAdjustment::appendContextSubtargetsForNode):
139         (WebCore::TouchAdjustment::compileSubtargetList):
140         (WebCore::findBestClickableCandidate):
141         (WebCore::findBestContextMenuCandidate):
142
143 2012-08-22  Andrey Adaikin  <aandrey@chromium.org>
144
145         Web Inspector: [WebGL] Generic framework draft for tracking WebGL resources
146         https://bugs.webkit.org/show_bug.cgi?id=90597
147
148         Reviewed by Pavel Feldman.
149
150         Wrap WebGL rendering context methods and collect a trace log if we are in capturing mode.
151         Stubbed code for collecting calls contributing to a WebGL resource state so that we could replay them later.
152
153         Typical scenario:
154         - we wrap a GL context with InjectedScript.wrapWebGLContext() and return a proxy to the inspected page
155         - the proxy saves all calls necessary to do a replay later - only those that modify a resource's state
156         - when we turn on capturing mode (InjectedScript.captureFrame), we save all WebGL calls to a trace log
157
158         * inspector/InjectedScriptSource.js:
159         (.):
160         * inspector/InjectedScriptWebGLModuleSource.js:
161         (.):
162
163 2012-08-22  Andrey Adaikin  <aandrey@chromium.org>
164
165         Web Inspector: [WebGL] Add minimum transport protocol from backend to frontend
166         https://bugs.webkit.org/show_bug.cgi?id=88973
167
168         Reviewed by Pavel Feldman.
169
170         Added the following protocol methods to communicate with the WebGL injected
171         module: captureFrame, getTraceLog, dropTraceLog, replayTraceLog.
172
173         * inspector/CodeGeneratorInspector.py:
174         * inspector/InjectedScriptWebGLModule.cpp:
175         (WebCore::InjectedScriptWebGLModule::captureFrame):
176         (WebCore):
177         (WebCore::InjectedScriptWebGLModule::dropTraceLog):
178         (WebCore::InjectedScriptWebGLModule::getTraceLog):
179         (WebCore::InjectedScriptWebGLModule::replayTraceLog):
180         * inspector/InjectedScriptWebGLModule.h:
181         (InjectedScriptWebGLModule):
182         * inspector/Inspector.json:
183         * inspector/InspectorController.cpp:
184         (WebCore::InspectorController::InspectorController):
185         * inspector/InspectorWebGLAgent.cpp:
186         (WebCore::InspectorWebGLAgent::InspectorWebGLAgent):
187         (WebCore::InspectorWebGLAgent::dropTraceLog):
188         (WebCore):
189         (WebCore::InspectorWebGLAgent::captureFrame):
190         (WebCore::InspectorWebGLAgent::getTraceLog):
191         (WebCore::InspectorWebGLAgent::replayTraceLog):
192         * inspector/InspectorWebGLAgent.h:
193         (WebCore):
194         (WebCore::InspectorWebGLAgent::create):
195         (InspectorWebGLAgent):
196
197 2012-08-22  Hans Wennborg  <hans@chromium.org>
198
199         Remove unused field DeleteEntryRequest::m_type
200         https://bugs.webkit.org/show_bug.cgi?id=94680
201
202         Unreviewed build fix.
203
204         Remove this unused field. Clang warns about it and it breaks the
205         Chromium build.
206
207         No change in functionality, no new tests.
208
209         * inspector/InspectorFileSystemAgent.cpp:
210         (WebCore):
211
212 2012-08-21  Andrey Kosyakov  <caseq@chromium.org>
213
214         Web Inspector: console.time() should use performance.now()
215         https://bugs.webkit.org/show_bug.cgi?id=94263
216
217         Reviewed by Pavel Feldman.
218
219         - use monotonicallyIncreasingTime() instead of currentTime() for measuring time intervals
220             with console.time()/console.timeEnd()
221         - adjust precision to 3 digits after decimal point (i.e. microseconds) when formatting intervals;
222
223         * inspector/InspectorConsoleAgent.cpp:
224         (WebCore::InspectorConsoleAgent::stopTiming):
225
226 2012-08-22  Takashi Sakamoto  <tasak@google.com>
227
228         Dynamically styling ShadowDom content on a node distributed to another shadow insertion point fails.
229         https://bugs.webkit.org/show_bug.cgi?id=92899
230
231         Reviewed by Hajime Morita.
232
233         Since childNeedsStyleRecalc is not cleared when parent nodes are
234         attached, setNeedsStyleRecalc flag is not reached Document. So,
235         document() doesn't run re-layout.
236
237         Test: fast/dom/shadow/shadowdom-dynamic-styling.html
238
239         * dom/ContainerNode.h:
240         (ContainerNode):
241         (WebCore::ContainerNode::detachAsNode):
242         Removed detachAsNode, because the below change made the method
243         not-used.
244         * dom/Element.cpp:
245         (WebCore::Element::detach):
246         Modify to invoke ContainerNode::detach when any shadow subtree is
247         attached. ContainerNode::detach takes care of childNeedsStyleRecalc
248         flag.
249         * dom/ElementShadow.cpp:
250         (WebCore::ElementShadow::invalidateDistribution):
251         Use SetAttached for lazyAttach instead of DoNotSetAttached, because
252         it is reuired to invoke ContainerNode::detach. If not, attached() is
253         false and reattach() invokes only attach(). This causes to leave
254         shadow host's childNeedsStyleRecalc flag true after
255         Element::recalcStyle.
256
257 2012-08-22  Taiju Tsuiki  <tzik@chromium.org>
258
259         Web Inspector: Add deleteEntry command and deletionCompleted event to FileSystemAgent
260         https://bugs.webkit.org/show_bug.cgi?id=91831
261
262         Reviewed by Vsevolod Vlasov.
263
264         InspectorAgent-side implementation of deleteEntry command.
265
266         Test will be added after JS-side implementation landed.
267
268         * inspector/Inspector.json:
269         * inspector/InspectorFileSystemAgent.cpp:
270         (WebCore):
271         (WebCore::InspectorFileSystemAgent::requestFileSystemRoot):
272         (WebCore::InspectorFileSystemAgent::requestDirectoryContent):
273         (WebCore::InspectorFileSystemAgent::requestMetadata):
274         (WebCore::InspectorFileSystemAgent::requestFileContent):
275         (WebCore::InspectorFileSystemAgent::deleteEntry):
276         (WebCore::InspectorFileSystemAgent::assertFrontend):
277         * inspector/InspectorFileSystemAgent.h:
278         (InspectorFileSystemAgent):
279         * inspector/front-end/FileSystemModel.js:
280         (WebInspector.FileSystemDispatcher.prototype.fileContentReceived):
281         (WebInspector.FileSystemDispatcher.prototype.deletionCompleted):
282
283 2012-08-21  Pavel Feldman  <pfeldman@chromium.org>
284
285         Web Inspector: TabbedPane: measure tab widths in batches.
286         https://bugs.webkit.org/show_bug.cgi?id=94484
287
288         Reviewed by Vsevolod Vlasov.
289
290         - Introduces global batch update schema
291         - Migrates Toolbar and TabbedPane to the new schema
292
293         * inspector/front-end/ScriptsPanel.js:
294         (WebInspector.ScriptsPanel):
295         * inspector/front-end/TabbedPane.js:
296         (WebInspector.TabbedPane.prototype.appendTab):
297         (WebInspector.TabbedPane.prototype._updateTabElements):
298         (WebInspector.TabbedPane.prototype._innerUpdateTabElements):
299         (WebInspector.TabbedPane.prototype._updateWidths):
300         (WebInspector.TabbedPane.prototype._measureWidths):
301         (WebInspector.TabbedPaneTab):
302         (WebInspector.TabbedPaneTab.prototype.width):
303         (WebInspector.TabbedPaneTab.prototype.setWidth):
304         * inspector/front-end/Toolbar.js:
305         (WebInspector.Toolbar):
306         (WebInspector.Toolbar.prototype._updateDropdownButtonAndHideDropdown):
307         (WebInspector.Toolbar.prototype._innerUpdateDropdownButtonAndHideDropdown):
308         * inspector/front-end/UIUtils.js:
309         (WebInspector.startBatchUpdate):
310         (WebInspector.invokeOnceAfterBatchUpdate.get if):
311         (WebInspector.invokeOnceAfterBatchUpdate):
312         * inspector/front-end/inspector.js:
313         * inspector/front-end/utilities.js:
314
315 2012-08-21  Kentaro Hara  <haraken@chromium.org>
316
317         [V8] Move String related code in V8Binding to a separate file
318         https://bugs.webkit.org/show_bug.cgi?id=94571
319
320         Reviewed by Adam Barth.
321
322         This patch moves V8Parameter, V8ParameterBase and String related code
323         in V8Binding to a separate file.
324
325         No tests. No change in behavior.
326
327         * UseV8.cmake:
328         * WebCore.gypi:
329         * bindings/v8/V8Binding.cpp:
330         * bindings/v8/V8Binding.h:
331         * bindings/v8/V8StringResource.cpp: Added.
332         * bindings/v8/V8StringResource.h: Added.
333         (WebCore):
334
335 2012-08-21  Sukolsak Sakshuwong  <sukolsak@google.com>
336
337         Implement UndoManager's automatic DOM transactions
338         https://bugs.webkit.org/show_bug.cgi?id=91812
339
340         Reviewed by Ryosuke Niwa.
341
342         This patch implements automatic DOM transactions in UndoManager
343         by recording changes in tree structure, attributes, and character data
344         of nodes under undo scope host.
345
346         Tests: editing/undomanager/automatic-transaction-attribute.html
347                editing/undomanager/automatic-transaction-data.html
348                editing/undomanager/automatic-transaction-node.html
349
350         * CMakeLists.txt:
351         * GNUmakefile.list.am:
352         * WebCore.gypi:
353         * WebCore.vcproj/WebCore.vcproj:
354         * WebCore.xcodeproj/project.pbxproj:
355         * bindings/js/DOMTransaction.h:
356         (WebCore::DOMTransaction::addTransactionStep):
357         (DOMTransaction):
358         * bindings/v8/DOMTransaction.cpp:
359         (DOMTransactionScope):
360         (WebCore::DOMTransactionScope::DOMTransactionScope):
361         (WebCore::DOMTransactionScope::~DOMTransactionScope):
362         (WebCore):
363         (WebCore::DOMTransaction::apply):
364         (WebCore::DOMTransaction::unapply):
365         (WebCore::DOMTransaction::reapply):
366         * bindings/v8/DOMTransaction.h:
367         (WebCore::DOMTransaction::addTransactionStep):
368         (DOMTransaction):
369         * css/PropertySetCSSStyleDeclaration.cpp:
370         (WebCore::PropertySetCSSStyleDeclaration::setCssText):
371         (WebCore::PropertySetCSSStyleDeclaration::setProperty):
372         (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
373         (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
374         * dom/CharacterData.cpp:
375         (WebCore::CharacterData::setDataAndUpdate):
376         * dom/ContainerNode.cpp:
377         (WebCore::willRemoveChild):
378         (WebCore::willRemoveChildren):
379         (WebCore::updateTreeAfterInsertion):
380         * dom/Element.cpp:
381         (WebCore::Element::willModifyAttribute):
382         * editing/DOMTransactionStep.cpp: Added.
383         (WebCore):
384         (WebCore::NodeInsertingDOMTransactionStep::NodeInsertingDOMTransactionStep):
385         (WebCore::NodeInsertingDOMTransactionStep::create):
386         (WebCore::NodeInsertingDOMTransactionStep::unapply):
387         (WebCore::NodeInsertingDOMTransactionStep::reapply):
388         (WebCore::NodeRemovingDOMTransactionStep::NodeRemovingDOMTransactionStep):
389         (WebCore::NodeRemovingDOMTransactionStep::create):
390         (WebCore::NodeRemovingDOMTransactionStep::unapply):
391         (WebCore::NodeRemovingDOMTransactionStep::reapply):
392         (WebCore::DataReplacingDOMTransactionStep::DataReplacingDOMTransactionStep):
393         (WebCore::DataReplacingDOMTransactionStep::create):
394         (WebCore::DataReplacingDOMTransactionStep::unapply):
395         (WebCore::DataReplacingDOMTransactionStep::reapply):
396         (WebCore::AttrChangingDOMTransactionStep::AttrChangingDOMTransactionStep):
397         (WebCore::AttrChangingDOMTransactionStep::create):
398         (WebCore::AttrChangingDOMTransactionStep::unapply):
399         (WebCore::AttrChangingDOMTransactionStep::reapply):
400         * editing/DOMTransactionStep.h: Added.
401         (WebCore):
402         (DOMTransactionStep):
403         (WebCore::DOMTransactionStep::~DOMTransactionStep):
404         (NodeInsertingDOMTransactionStep):
405         (NodeRemovingDOMTransactionStep):
406         (DataReplacingDOMTransactionStep):
407         (AttrChangingDOMTransactionStep):
408         * editing/UndoManager.cpp:
409         (WebCore):
410         (WebCore::UndoManager::isRecordingAutomaticTransaction):
411         (WebCore::UndoManager::addTransactionStep):
412         * editing/UndoManager.h:
413         (WebCore):
414         (WebCore::UndoManager::setRecordingDOMTransaction):
415         (UndoManager):
416
417 2012-08-21  Shezan Baig  <sbaig1@bloomberg.net>
418
419         Fix cross-direction stretch for replaced elements in row flexbox
420         https://bugs.webkit.org/show_bug.cgi?id=94237
421
422         Reviewed by Ojan Vafai.
423
424         When stretching, don't take into account the instrinsic size of child
425         replaced elements. Only the fixed size, min size, and max size of the
426         child should be taken into account. The logic that computed this was
427         moved from RenderBox::computeLogicalHeight to a new helper method
428         called logicalHeightConstrainedByMinMax.  This helper method is now
429         used from RenderFlexibleBox::applyStretchAlignmentToChild, instead of
430         using RenderBox::computeLogicalHeight.
431
432         A similar change will need to be made for column-flowing flexboxes.
433         This will be addressed in https://webkit.org/b/94604.
434
435         No new tests.  The existing css3/flexbox/flexitem.html test was
436         extended to cover this case.
437
438         * rendering/RenderBox.cpp:
439         (WebCore::RenderBox::logicalHeightConstrainedByMinMax): New helper
440         method that is used by RenderBox::computeLogicalHeight and also by
441         RenderFlexibleBox::applyStretchAlignmentToChild.
442         (WebCore):
443         (WebCore::RenderBox::computeLogicalHeight): Updated to use the new
444         logicalHeightConstrainedByMinMax helper method.
445         * rendering/RenderBox.h:
446         (RenderBox):
447         * rendering/RenderFlexibleBox.cpp:
448         (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild): Use
449         logicalHeightConstrainedByMinMax instead of computeLogicalHeight.
450
451 2012-08-21  Hayato Ito  <hayato@chromium.org>
452
453         Make an event object clonable to support an event propagation across seamless iframes.
454         https://bugs.webkit.org/show_bug.cgi?id=93678
455
456         Reviewed by Dimitri Glazkov.
457
458         We should clone an event object when a event propagates across
459         seamless iframes.  Currently Event and MouseEvent are
460         supported. Support for other kinds of events will be addressed
461         later.
462
463         This is one of the pre-requirements to support an event
464         propagation across seamless iframes.
465
466         No new tests, no behavior change.
467
468         * dom/Event.cpp:
469         (WebCore::Event::cloneFor):
470         (WebCore):
471         * dom/Event.h:
472         (WebCore):
473         (Event):
474         * dom/MouseEvent.cpp:
475         (WebCore::adjustedClinetX):
476         (WebCore):
477         (WebCore::adjustedClinetY):
478         (WebCore::MouseEvent::cloneFor):
479         * dom/MouseEvent.h:
480         (MouseEvent):
481
482 2012-08-21  Joshua Bell  <jsbell@chromium.org>
483
484         IndexedDB: IDBRequest can be GCd during event dispatch
485         https://bugs.webkit.org/show_bug.cgi?id=94235
486
487         Reviewed by Ojan Vafai.
488
489         Avoid a "race" where GC may attempt to reclaim IDB objects that are marked
490         "done" prior to the completion of the event dispatch. The script runtime
491         may decide to do a GC pass before calling the event handler, releasing the
492         object and turning the dispatch into a no-op.
493
494         This is a partial reversion (with renames, etc) of r123275, r124842,
495         and r121492. Added a new test, although it does not exercise the "race"
496         condition directly.
497
498         Test: storage/indexeddb/pending-activity.html
499               storage/indexeddb/pending-activity-workers.html
500
501         * Modules/indexeddb/IDBCursor.cpp:
502         (WebCore::IDBCursor::close): Let the IDBRequest know it this cursor won't
503         make it fire again.
504         * Modules/indexeddb/IDBRequest.cpp:
505         (WebCore::IDBRequest::IDBRequest): Reintroduce "am I done?" flag.
506         (WebCore::IDBRequest::finishCursor): Cursors may fire events at the same
507         IDBRequest repeatedly, so we need to know when they're are really done.
508         (WebCore):
509         (WebCore::IDBRequest::hasPendingActivity): Test the flag.
510         (WebCore::IDBRequest::dispatchEvent): Set the flag.
511         * Modules/indexeddb/IDBRequest.h:
512         (IDBRequest):
513         * Modules/indexeddb/IDBTransaction.cpp:
514         (WebCore::IDBTransaction::IDBTransaction): Reintroduce "am I done?" flag.
515         (WebCore::IDBTransaction::hasPendingActivity): Test the flag.
516         (WebCore::IDBTransaction::dispatchEvent): Set the flag.
517         * Modules/indexeddb/IDBTransaction.h:
518
519 2012-08-21  Pavel Feldman  <pfeldman@chromium.org>
520
521         Web Inspector: [regression] Settings panel fails to open.
522         https://bugs.webkit.org/show_bug.cgi?id=94647
523
524         Unreviewed: one line JS front-end fix.
525
526         * inspector/front-end/ScriptsSearchScope.js:
527         * inspector/front-end/Settings.js:
528
529 2012-08-21  Julien Chaffraix  <jchaffraix@webkit.org>
530
531         Crash in RenderTableSection::setCellLogicalWidths
532         https://bugs.webkit.org/show_bug.cgi?id=94291
533
534         Reviewed by Abhishek Arya.
535
536         This issue was that splitAnonymousBoxesAroundChild would move a table section
537         into a newly created table *without* marking it as needing cell recalc. The table
538         would thus never build its structure to match its sections. The fix is to hop on
539         the new willBeRemovedFromTree signal so that the section invalidates itself properly.
540
541         Test: fast/table/crash-split-table-section-no-cell-recalc.html
542
543         * rendering/RenderTableSection.cpp:
544         (WebCore::RenderTableSection::willBeRemovedFromTree):
545         * rendering/RenderTableSection.h:
546         Replaced willBeDestroyed by willBeRemovedFromTree in RenderTableSection. This ensures that it is called
547         when moving sections in the tree to mark them as needing cell recalc.
548
549 2012-08-21  Yoshifumi Inoue  <yosin@chromium.org>
550
551         [Forms] multiple fields time input UI should not have two focus ring.
552         https://bugs.webkit.org/show_bug.cgi?id=94579
553
554         Reviewed by Hajime Morita.
555
556         This patch adds CSS selectors to override focus style for multiple
557         fields time input UI.
558
559         No new tests. fast/forms/time-multiple-fields/time-multiple-fields-appearance-basic.html
560         is updated for including focus state appearance.
561
562         * css/html.css:
563         (input::-webkit-datetime-edit-ampm-field:focus): Override default focus appearance.
564         (input::-webkit-datetime-edit-hour-field:focus): ditto
565         (input::-webkit-datetime-edit-millisecond-field:focus): ditto
566         (input::-webkit-datetime-edit-minute-field:focus): ditto
567         (input::-webkit-datetime-edit-second-field:focus): ditto
568
569 2012-08-21  Adam Barth  <abarth@webkit.org>
570
571         V8 shouldn't have its own way of printing cross-origin error messages
572         https://bugs.webkit.org/show_bug.cgi?id=94641
573
574         Reviewed by Eric Seidel.
575
576         V8 used to re-implement (poorly) the code for printing out an error
577         message when a same-origin check failed. This patch deletes that code
578         in favor of just calling the WebCore version of the code. There more to
579         clean up here, but I had to stop before spidering over the whole
580         codebase.
581
582         * bindings/generic/BindingSecurity.cpp:
583         (WebCore::canAccessDocument):
584         * bindings/js/BindingState.cpp:
585         * bindings/js/BindingState.h:
586         * bindings/v8/BindingState.cpp:
587         (WebCore::printErrorMessageForFrame):
588         * bindings/v8/BindingState.h:
589         (WebCore):
590         * bindings/v8/V8DOMWindowShell.cpp:
591         (WebCore::reportUnsafeJavaScriptAccess):
592         * bindings/v8/V8Proxy.cpp:
593         * bindings/v8/V8Proxy.h:
594         (V8Proxy):
595
596 2012-08-21  Shinya Kawanaka  <shinyak@chromium.org>
597
598         A shadow element in ShadowDOM of a button element does not work.
599         https://bugs.webkit.org/show_bug.cgi?id=91486
600
601         Reviewed by Dimitri Glazkov.
602
603         Since a button element is extended from an HTMLFormControlElement, it creates a UserAgentShadowDOM
604         just before adding an AuthorShadowDOM. However, actually a button element does not need any UserAgentShadowDOM.
605         So we have to prevent it from creating UserAgentShadowDOM.
606
607         Test: fast/dom/shadow/shadowdom-for-button.html
608
609         * html/HTMLButtonElement.cpp:
610         (WebCore::HTMLButtonElement::willAddAuthorShadowRoot):
611         (WebCore):
612         * html/HTMLButtonElement.h:
613
614 2012-08-21  Sukolsak Sakshuwong  <sukolsak@google.com>
615
616         Remove UndoManager's undoscope content attribute
617         https://bugs.webkit.org/show_bug.cgi?id=94637
618
619         Reviewed by Ryosuke Niwa.
620
621         No new tests. Covered by existing tests.
622
623         * bindings/v8/DOMTransaction.cpp:
624         (WebCore::DOMTransaction::callFunction):
625         * dom/Document.cpp:
626         (WebCore::Document::undoManager):
627         * dom/Element.cpp:
628         (WebCore::Element::~Element):
629         (WebCore):
630         * dom/Element.h:
631         (Element):
632         * dom/Element.idl:
633         * dom/ElementRareData.h:
634         (ElementRareData):
635         * editing/UndoManager.cpp:
636         (WebCore::UndoManager::create):
637         (WebCore::UndoManager::UndoManager):
638         (WebCore::UndoManager::disconnect):
639         (WebCore::UndoManager::transact):
640         (WebCore::UndoManager::undo):
641         (WebCore::UndoManager::redo):
642         (WebCore::UndoManager::clearUndo):
643         (WebCore::UndoManager::clearRedo):
644         (WebCore):
645         * editing/UndoManager.h:
646         (WebCore):
647         (UndoManager):
648         (WebCore::UndoManager::document):
649         (WebCore::UndoManager::ownerNode):
650         * html/HTMLAttributeNames.in:
651         * html/HTMLElement.cpp:
652         (WebCore::HTMLElement::parseAttribute):
653         (WebCore::HTMLElement::setContentEditable):
654
655 2012-08-21  Joanmarie Diggs  <jdiggs@igalia.com>
656
657         [Gtk] No accessible caret-moved events found in certain content
658         https://bugs.webkit.org/show_bug.cgi?id=72811
659
660         Reviewed by Chris Fleizach.
661
662         Part of the bug is due to objects which should claim to implement AtkText
663         failed to do so as a result of containing a mixture of inline and block
664         spans.
665
666         An updated unit test was provided.
667
668         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
669         (roleIsTextType): New method to check if a role is one expected to have
670         implemented the AtkText interface. Currently that is defined as:
671          - ParagraphRole
672          - HeadingRole
673          - DivRole
674          - CellRole
675         (getInterfaceMaskFromObject): If a role is one of the text type roles,
676         automatically add WAI_TEXT to the accessible object's interface mask.
677
678 2012-08-21  Tony Chang  <tony@chromium.org>
679
680         Force XML comments to maintain whitespace
681         https://bugs.webkit.org/show_bug.cgi?id=94620
682
683         Reviewed by Pavel Feldman.
684
685         Fix a typo in XMLViewer.css for white-space formatting. This seems
686         like the desired behavior so you can see, e.g., code formatted in an
687         XML comment.
688
689         Covered by existing xmlviewer tests in http/tests/xmlviewer/dumpAsText
690
691         * xml/XMLViewer.css:
692         (.comment): Fix typo.
693         * xml/XMLViewer.js:
694         (createComment): Add style to comment nodes.
695
696 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
697
698         Unreviewed, rolling out r126202.
699         http://trac.webkit.org/changeset/126202
700         https://bugs.webkit.org/show_bug.cgi?id=94657
701
702         Causes assertion failures on Chromium Linux dbg compositing
703         layout tests (Requested by dominicc on #webkit).
704
705         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
706         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
707         * platform/graphics/chromium/LayerRendererChromium.cpp:
708         (WebCore::applyFilters):
709         (WebCore::LayerRendererChromium::drawRenderPassQuad):
710         (WebCore::LayerRendererChromium::drawTileQuad):
711         (WebCore::LayerRendererChromium::drawYUVVideoQuad):
712         (WebCore::LayerRendererChromium::drawTextureQuad):
713         (WebCore::LayerRendererChromium::getFramebufferTexture):
714         (WebCore::LayerRendererChromium::bindFramebufferToTexture):
715         * platform/graphics/chromium/LayerRendererChromium.h:
716         (LayerRendererChromium):
717         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
718         (WebCore::CCResourceProvider::createResource):
719         (WebCore::CCResourceProvider::createResourceFromExternalTexture):
720         (WebCore::CCResourceProvider::deleteResource):
721         (WebCore::CCResourceProvider::upload):
722         (WebCore::CCResourceProvider::lockForWrite):
723         (WebCore::CCResourceProvider::unlockForWrite):
724         (WebCore::CCResourceProvider::flush):
725         (WebCore::CCResourceProvider::shallowFlushIfSupported):
726         (WebCore::CCResourceProvider::lockForRead):
727         (WebCore::CCResourceProvider::unlockForRead):
728         (WebCore::CCResourceProvider::CCResourceProvider):
729         * platform/graphics/chromium/cc/CCResourceProvider.h:
730         (WebCore):
731         (CCResourceProvider):
732         (WebCore::CCResourceProvider::Resource::Resource):
733         (Resource):
734         (CCScopedLockResourceForRead):
735         (WebCore::CCScopedLockResourceForRead::CCScopedLockResourceForRead):
736         (WebCore::CCScopedLockResourceForRead::~CCScopedLockResourceForRead):
737         (WebCore::CCScopedLockResourceForRead::textureId):
738         (CCScopedLockResourceForWrite):
739         (WebCore::CCScopedLockResourceForWrite::CCScopedLockResourceForWrite):
740         (WebCore::CCScopedLockResourceForWrite::~CCScopedLockResourceForWrite):
741         (WebCore::CCScopedLockResourceForWrite::textureId):
742
743 2012-08-21  David Grogan  <dgrogan@chromium.org>
744
745         IndexedDB: Fire error at request when abort is called in upgradeneeded
746         https://bugs.webkit.org/show_bug.cgi?id=94402
747
748         Reviewed by Tony Chang.
749
750         Tests - updated intversion-abort-in-initial-upgradeneeded-expected.txt
751
752         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
753         (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndAbortFired):
754         (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndCompleteFired):
755         (WebCore):
756         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
757         Now that second-half open calls don't get abandoned on the queue, we
758         can ASSERT that there's at most one of them at any time.
759
760         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
761         (IDBDatabaseBackendImpl):
762         * Modules/indexeddb/IDBRequest.cpp:
763         (WebCore::IDBRequest::dispatchEvent):
764         Move setting m_didFireUpgradeNeededEvent before dispatching the event.
765         If abort is called in the event handler an error event will be
766         enqueued and ASSERT_WITH_MESSAGE(m_readyState == PENDING ||
767         m_didFireUpgradeNeededEvent, ...) needs to pass.
768
769         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
770         (WebCore::IDBTransactionBackendImpl::abort):
771         (WebCore::IDBTransactionBackendImpl::commit):
772
773 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
774
775         Unreviewed, rolling out r126233.
776         http://trac.webkit.org/changeset/126233
777         https://bugs.webkit.org/show_bug.cgi?id=94656
778
779         Broke Chromium Mac build (Requested by dominicc on #webkit).
780
781         * CMakeLists.txt:
782         * GNUmakefile.list.am:
783         * Target.pri:
784         * WebCore.gypi:
785         * WebCore.vcproj/WebCore.vcproj:
786         * WebCore.xcodeproj/project.pbxproj:
787         * css/mediaControls.css:
788         (video::-webkit-media-text-track-display):
789         * html/shadow/MediaControlElements.cpp:
790         (RenderTextTrackContainerElement):
791         (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
792         * html/track/TextTrack.cpp:
793         * html/track/TextTrack.h:
794         (TextTrack):
795         * html/track/TextTrackCue.cpp:
796         (WebCore::TextTrackCue::TextTrackCue):
797         (WebCore::TextTrackCue::calculateComputedLinePosition):
798         (WebCore::TextTrackCue::calculateDisplayParameters):
799         (WebCore::TextTrackCue::getDisplayTree):
800         (WebCore::TextTrackCue::getPositionCoordinates):
801         * html/track/TextTrackCue.h:
802         (WebCore):
803         (TextTrackCue):
804         * rendering/RenderTextTrackCue.cpp: Removed.
805         * rendering/RenderTextTrackCue.h: Removed.
806
807 2012-08-20  Kentaro Hara  <haraken@chromium.org>
808
809         [V8] Remove getToStringName() and getToStringTemplate() from V8Binding
810         https://bugs.webkit.org/show_bug.cgi?id=94573
811
812         Reviewed by Adam Barth.
813
814         - Remove V8Binding::getToStringName() and V8Binding::getToStringTemplate().
815
816         - Replace getToStringName() with String::NewSymbol("toString").
817
818         - Fix V8PerIsolateData::getToStringTemplate() so that it caches a persistent
819         handle of a created FunctionTemplate. Before this patch, a FunctionTemplate
820         had been created for each toString().
821
822         No tests. No change in behavior.
823
824         * bindings/v8/V8Binding.cpp:
825         (WebCore::constructorToString):
826         * bindings/v8/V8Binding.h:
827         (WebCore):
828         * bindings/scripts/CodeGeneratorV8.pm:
829         (GenerateImplementation):
830         * bindings/scripts/test/V8/V8Float64Array.cpp:
831         (WebCore::ConfigureV8Float64ArrayTemplate):
832         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
833         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
834         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
835         (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
836         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
837         (WebCore::ConfigureV8TestEventConstructorTemplate):
838         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
839         (WebCore::ConfigureV8TestEventTargetTemplate):
840         * bindings/scripts/test/V8/V8TestException.cpp:
841         (WebCore::ConfigureV8TestExceptionTemplate):
842         * bindings/scripts/test/V8/V8TestInterface.cpp:
843         (WebCore::ConfigureV8TestInterfaceTemplate):
844         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
845         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
846         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
847         (WebCore::ConfigureV8TestNamedConstructorTemplate):
848         * bindings/scripts/test/V8/V8TestNode.cpp:
849         (WebCore::ConfigureV8TestNodeTemplate):
850         * bindings/scripts/test/V8/V8TestObj.cpp:
851         (WebCore::ConfigureV8TestObjTemplate):
852         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
853         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
854         * bindings/v8/V8PerIsolateData.h:
855         (V8PerIsolateData):
856
857 2012-08-21  Arvid Nilsson  <anilsson@rim.com>
858
859         [BlackBerry] WebGL Aquarium fails to render
860         https://bugs.webkit.org/show_bug.cgi?id=94634
861
862         The aquarium leaves with a glColorMask(false, false, false, true) which
863         caused us to fail to blit the color components of the aquarium to the
864         EGLImage.
865
866         Fixed by setting an appropriate color mask for a blit operation.
867
868         Reviewed by Yong Li.
869
870         No new tests, tested manually.
871
872         * platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:
873         (WebCore::EGLImageLayerWebKitThread::blitToFrontBuffer):
874
875 2012-08-21  Victor Carbune  <victor@rosedu.org>
876
877         Display a TextTrackCue when snap-to-lines flag is set
878         https://bugs.webkit.org/show_bug.cgi?id=79751
879
880         Reviewed by Tony Chang.
881
882         This patch implements rendering functionality for a given text track,
883         following closer the exact WebVTT specification. There are two new classes
884         which have been added in order to succesfully cover rendering when of a text
885         track cue.
886
887         RenderTextTrackCue handles the specific rendering algorithm required,
888         by checking for overlaps with other boxes that are in the same
889         container (these can be any other boxes, not necessarily other cues,
890         the video controls, for example).
891
892         TextTrackCueBox extends HTMLDivElement and is an intermediate layer
893         between the renderer class and the actual cue object. Its purpose is
894         to instantiate the particular renderer and cover all the default CSS
895         styling that needs to be applied to the cue.
896
897         The layout is done in two steps:
898           - Step 1: Layout the TextTrackCue with default CSS properties set (this is
899         the TextTrackCueBox decorated with the respective CSS elements)
900           - Step 2: RenderTextTrackCue adjusts the box position depending on the
901         parameters of the TextTrackCue object and the overlaps that may occur with
902         previously positioned cues.
903
904         Tests: media/track/track-cue-rendering-horizontal.html
905                media/track/track-cue-rendering-vertical.html
906
907         * CMakeLists.txt: Updated to include RenderTextTrackCue.
908         * GNUmakefile.list.am: Updated to include RenderTextTrackCue.
909         * Target.pri: Updated to include RenderTextTrackCue.
910         * WebCore.gypi: Updated to include RenderTextTrackCue.
911         * WebCore.vcproj/WebCore.vcproj: Updated to include RenderTextTrackCue.
912         * WebCore.xcodeproj/project.pbxproj: Updated to include RenderTextTrackCue.
913         * css/mediaControls.css: Removed unreliable CSS.
914         (video::-webkit-media-text-track-display): Removed properties.
915         * html/shadow/MediaControlElements.cpp: Updated to not use the new class.
916         (RenderTextTrackContainerElement):
917         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Simplified
918         the function by moving the check if track is rendered in TextTrack and used
919         the TextTrackCueBox for cues.
920         * html/track/TextTrack.cpp: Added a new method.
921         (WebCore::TextTrack::isRendered): Method that returns whether the track should
922         be rendered or not.
923         (WebCore):
924         * html/track/TextTrack.h: Added the isRendered method.
925         (TextTrack):
926         * html/track/TextTrackCue.cpp: Added several helper methods and
927         the TextTrackCueBox.
928         (WebCore):
929         (WebCore::TextTrackCueBox::TextTrackCueBox): The TextTrackCueBox extends
930         the HTMLDivElement and represents a bridge class between RenderTextTrackCue
931         and TextTrackCue. This is required as the layout is done in two steps, as
932         explained on top of the ChangeLog entry.
933         (WebCore::TextTrackCueBox::getCue): Returns the associated TextTrackCue object.
934         (WebCore::TextTrackCueBox::applyCSSProperties): Applies a part of the default CSS
935         properties, as defined by section 3.5.1 of the WebVTT specification.
936         (WebCore::TextTrackCueBox::shadowPseudoId): Moved the shadow pseudo id.
937         (WebCore::TextTrackCueBox::createRenderer): Creates the particular renderer.
938         (WebCore::TextTrackCue::TextTrackCue): Corrected the internal writing mode map.
939         (WebCore::TextTrackCue::calculateComputedLinePosition): Updated the compute line
940         position algorithm. This requires, however, a method to consider only rendered
941         tracks (and therefore will be addressed completely in subsequent changeset).
942         (WebCore::TextTrackCue::calculateDisplayParameters): Updated and corrected the
943         computed display parameters to match the current specification.
944         (WebCore::TextTrackCue::getDisplayTree): Update to use the TextTrackCueBox class
945         and moved CSS application to the respective class.
946         (WebCore::TextTrackCue::getPositionCoordinates): Added comment to specify in which
947         situation this method is used and change visibility to private.
948         (WebCore::TextTrackCue::getCSSWritingMode): Returns the CSS writing mode corresponding
949         to the cue writing mode.
950         (WebCore::TextTrackCue::getCSSSize): Returns the cue width / height (depending on the
951         writing direction.
952         (WebCore::TextTrackCue::getCSSPosition): Returns the default display position, that is
953         used in the first layout step.
954         * html/track/TextTrackCue.h:
955         (WebCore):
956         (TextTrackCueBox):
957         (WebCore::TextTrackCueBox::create): Initialization method.
958         (TextTrackCue):
959         (WebCore::TextTrackCue::getWritingDirection): Helper method to return the internal
960         values used to represent the writing direction.
961         * rendering/RenderTextTrackCue.cpp: Added.
962         (WebCore):
963         (WebCore::RenderTextTrackCue::RenderTextTrackCue):
964         (WebCore::RenderTextTrackCue::layout): The rendering steps, as mentioned in
965         the WebVTT rendering rules. Currently, this treats only the snap-to-lines set
966         case. It is implemented following closely the spec, and might be subject to
967         change as discussions on various bugs evolve.
968         (WebCore::RenderTextTrackCue::initializeLayoutParameters): Steps 1 - 7.
969         (WebCore::RenderTextTrackCue::placeBoxInDefaultPosition): Steps 8 - 10.
970         (WebCore::RenderTextTrackCue::isOutside): Inline method to check if the cue is outside.
971         (WebCore::RenderTextTrackCue::isOverlapping): Inline method to check if the cue overlaps other boxes.
972         (WebCore::RenderTextTrackCue::shouldSwitchDirection): Step 12.
973         (WebCore::RenderTextTrackCue::moveBoxesByStep): Step 13.
974         (WebCore::RenderTextTrackCue::switchDirection): Steps 15 - 18.
975         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet): Cue repositioning
976         for text track cue when the snap to lines flag is set.
977         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesNotSet): Cue repositioning
978         for text track cue when the snap to lines flag is not set. Not implemented yet.
979         * rendering/RenderTextTrackCue.h: Added.
980         (WebCore):
981         (RenderTextTrackCue): Rendering class, handling the display of cues.
982
983 2012-08-21  Lianghui Chen  <liachen@rim.com>
984
985         [BlackBerry] Add RSS content handling support
986         https://bugs.webkit.org/show_bug.cgi?id=93496
987
988         Reviewed by Rob Buis.
989
990         Add code to filter RSS content, and properly convert them to HTML
991         content so they can display nicely, instead of as plain text.
992
993         Following modules are included:
994
995         RSSFilterStream: the code for detecting RSS content, and controlling
996         the handling of these content.
997
998         RSSParserBase: the base class for the following 3 RSS parser.
999         RSS10Parser: the code for decoding RSS 1.0 content.
1000         RSS20Parser: the code for decoding RSS 2.0 content.
1001         RSSAtomParser: the code for decoding Atom format RSS content.
1002         RSSGenerator: the code for generating HTML content based on RSS feed.
1003
1004         No new tests as it's not changing how HTML content is handled.
1005
1006         * PlatformBlackBerry.cmake:
1007         * platform/network/blackberry/NetworkJob.cpp:
1008         (WebCore::NetworkJob::initialize):
1009         * platform/network/blackberry/rss/RSS10Parser.cpp: Added.
1010         (WebCore):
1011         (WebCore::RSS10Parser::RSS10Parser):
1012         (WebCore::RSS10Parser::parseBuffer):
1013         (WebCore::RSS10Parser::parseXmlDoc):
1014         (WebCore::RSS10Parser::parseItemBaseAttribute):
1015         (WebCore::RSS10Parser::parseItem):
1016         (WebCore::RSS10Parser::parseFeed):
1017         * platform/network/blackberry/rss/RSS10Parser.h: Added.
1018         (WebCore):
1019         (RSS10Parser):
1020         * platform/network/blackberry/rss/RSS20Parser.cpp: Added.
1021         (WebCore):
1022         (WebCore::RSS20Parser::RSS20Parser):
1023         (WebCore::RSS20Parser::parseBuffer):
1024         (WebCore::RSS20Parser::parseXmlDoc):
1025         (WebCore::RSS20Parser::parseItemBaseAttribute):
1026         (WebCore::RSS20Parser::parseItem):
1027         (WebCore::RSS20Parser::parseFeed):
1028         (WebCore::RSS20Parser::parseEnclosure):
1029         * platform/network/blackberry/rss/RSS20Parser.h: Added.
1030         (WebCore):
1031         (RSS20Parser):
1032         * platform/network/blackberry/rss/RSSAtomParser.cpp: Added.
1033         (WebCore):
1034         (WebCore::isRelativePath):
1035         (WebCore::RSSAtomLink::relType):
1036         (WebCore::RSSAtomParser::RSSAtomParser):
1037         (WebCore::RSSAtomParser::parseBuffer):
1038         (WebCore::RSSAtomParser::parseXmlDoc):
1039         (WebCore::RSSAtomParser::parseItemBaseAttribute):
1040         (WebCore::RSSAtomParser::parseItem):
1041         (WebCore::RSSAtomParser::parseFeed):
1042         (WebCore::RSSAtomParser::parseLink):
1043         (WebCore::RSSAtomParser::enclosureFromLink):
1044         (WebCore::RSSAtomParser::parseContent):
1045         (WebCore::RSSAtomParser::parseAuthor):
1046         (WebCore::RSSAtomParser::parseCategory):
1047         * platform/network/blackberry/rss/RSSAtomParser.h: Added.
1048         (WebCore):
1049         (RSSAtomLink):
1050         (WebCore::RSSAtomLink::RSSAtomLink):
1051         (RSSAtomParser):
1052         * platform/network/blackberry/rss/RSSFilterStream.cpp: Added.
1053         (WebCore):
1054         (WebCore::isASCIISpaceLowerByte):
1055         (WebCore::stripWhiteSpace):
1056         (WebCore::equalIgnoringCase):
1057         (WebCore::isAtomMIMEType):
1058         (WebCore::isRSSMIMEType):
1059         (WebCore::isPotentialRSSMIMEType):
1060         (WebCore::isRSSContent):
1061         (WebCore::RSSTypeFromContentType):
1062         (WebCore::RSSTypeFromContent):
1063         (WebCore::createParser):
1064         (WebCore::findXMLEncodingPosition):
1065         (WebCore::findXMLLanguagePosition):
1066         (WebCore::defaultEncodingForLanguage):
1067         (WebCore::isTranscodingNeeded):
1068         (WebCore::transcode):
1069         (WebCore::transcodeContent):
1070         (WebCore::RSSFilterStream::RSSFilterStream):
1071         (WebCore::RSSFilterStream::notifyStatusReceived):
1072         (WebCore::RSSFilterStream::notifyHeadersReceived):
1073         (WebCore::RSSFilterStream::notifyDataReceived):
1074         (WebCore::RSSFilterStream::notifyClose):
1075         (WebCore::RSSFilterStream::convertContentToHtml):
1076         (WebCore::RSSFilterStream::handleRSSContent):
1077         (WebCore::RSSFilterStream::charset):
1078         (WebCore::RSSFilterStream::encoding):
1079         (WebCore::RSSFilterStream::saveHeaders):
1080         (WebCore::RSSFilterStream::removeHeader):
1081         (WebCore::RSSFilterStream::updateHeader):
1082         (WebCore::RSSFilterStream::updateRSSHeaders):
1083         (WebCore::RSSFilterStream::sendSavedHeaders):
1084         (WebCore::RSSFilterStream::appendData):
1085         * platform/network/blackberry/rss/RSSFilterStream.h: Added.
1086         (WebCore):
1087         (RSSFilterStream):
1088         * platform/network/blackberry/rss/RSSGenerator.cpp: Added.
1089         (WebCore):
1090         (WebCore::RSSGenerator::RSSGenerator):
1091         (WebCore::RSSGenerator::~RSSGenerator):
1092         (WebCore::RSSGenerator::generateHtml):
1093         * platform/network/blackberry/rss/RSSGenerator.h: Added.
1094         (WebCore):
1095         (RSSGenerator):
1096         * platform/network/blackberry/rss/RSSParserBase.cpp: Added.
1097         (WebCore):
1098         (WebCore::RSSEnclosure::RSSEnclosure):
1099         (WebCore::RSSEnclosure::typeInEnum):
1100         (WebCore::RSSEnclosure::suggestedName):
1101         (WebCore::RSSFeed::RSSFeed):
1102         (WebCore::RSSFeed::~RSSFeed):
1103         (WebCore::RSSFeed::clear):
1104         (WebCore::RSSItem::RSSItem):
1105         (WebCore::RSSItem::~RSSItem):
1106         (WebCore::RSSItem::clear):
1107         (WebCore::RSSParserBase::RSSParserBase):
1108         (WebCore::RSSParserBase::~RSSParserBase):
1109         (WebCore::textFromXMLAttr):
1110         (WebCore::textFromXMLNode):
1111         * platform/network/blackberry/rss/RSSParserBase.h: Added.
1112         (WebCore):
1113         (RSSEnclosure):
1114         (RSSItemBase):
1115         (RSSParserBase):
1116
1117 2012-08-21  Andrew Lo  <anlo@rim.com>
1118
1119         [BlackBerry] requestAnimationFrame: Unscheduled display link frames need to be sent to main thread
1120         https://bugs.webkit.org/show_bug.cgi?id=94600
1121
1122         Reviewed by Rob Buis.
1123
1124         http://trac.webkit.org/changeset/116792 implements destroying
1125         DisplayRefreshMonitor after the number of unscheduled frames exceeds 10.
1126
1127         Part of that change involves dispatching to the main thread whether
1128         the frame was scheduled or not.
1129
1130         Make the corresponding change for the BlackBerry port that was made for
1131         DisplayRefreshMonitorMac.cpp.
1132
1133         Tests covered by http://trac.webkit.org/changeset/116792
1134
1135         * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
1136         (WebCore::DisplayRefreshMonitor::displayLinkFired):
1137
1138 2012-08-21  Brian Salomon  <bsalomon@google.com>
1139
1140         [Chromium/Skia] Filters should flush the SkCanvas
1141         https://bugs.webkit.org/show_bug.cgi?id=94602
1142
1143         Reviewed by Stephen White.
1144
1145         Adds a SkCanvas::flush call to FilterBufferState::swap() to ensure the textures are updated before they are consumed by the compositor.
1146
1147         Covered by existing css3/filters layout tests.
1148
1149         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
1150
1151 2012-08-21  Lianghui Chen  <liachen@rim.com>
1152
1153         [BlackBerry] Use new method to create socket handle
1154         https://bugs.webkit.org/show_bug.cgi?id=89991
1155
1156         Reviewed by Rob Buis.
1157
1158         Update the way to create SocketStream as the platform API has changed.
1159
1160         No new tests as no change of behaviour, just API change adaptation.
1161
1162         * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
1163         (WebCore::SocketStreamHandle::SocketStreamHandle):
1164
1165 2012-08-21  Kentaro Hara  <haraken@chromium.org>
1166
1167         [V8] Move compileScript() from V8Proxy to ScriptSourceCode
1168         https://bugs.webkit.org/show_bug.cgi?id=94561
1169
1170         Reviewed by Adam Barth.
1171
1172         To kill V8Proxy, this patch moves compileScript() from V8Proxy
1173         to ScriptSourceCode. This patch also removes fromWebCoreString().
1174
1175         No tests. No change in behavior.
1176
1177         * UseV8.cmake:
1178         * WebCore.gypi:
1179         * bindings/v8/ScriptController.h:
1180         (ScriptController):
1181         * bindings/v8/ScriptSourceCode.cpp: Added.
1182         (WebCore):
1183         (WebCore::ScriptSourceCode::compileScript):
1184         * bindings/v8/ScriptSourceCode.h:
1185         (ScriptSourceCode):
1186         * bindings/v8/V8Binding.h:
1187         * bindings/v8/V8LazyEventListener.cpp:
1188         (WebCore::V8LazyEventListener::prepareListenerObject):
1189         * bindings/v8/V8Proxy.cpp:
1190         (WebCore::V8Proxy::evaluate):
1191         * bindings/v8/V8Proxy.h:
1192         (V8Proxy):
1193         * bindings/v8/WorkerContextExecutionProxy.cpp:
1194         (WebCore::WorkerContextExecutionProxy::evaluate):
1195         (WebCore::WorkerContextExecutionProxy::runScript):
1196         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1197         (WebCore::V8InjectedScriptHost::getEventListenersCallback):
1198         * bindings/v8/custom/V8MessageEventCustom.cpp:
1199         (WebCore::V8MessageEvent::dataAccessorGetter):
1200         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1201         (WebCore::toV8Object):
1202         (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):
1203
1204 2012-08-21  Kentaro Hara  <haraken@chromium.org>
1205
1206         [V8] Move toV8Context() from V8Proxy to V8Binding
1207         https://bugs.webkit.org/show_bug.cgi?id=94597
1208
1209         Reviewed by Adam Barth.
1210
1211         To kill V8Proxy, we can move toV8Context() from V8Proxy to V8Binding.
1212
1213         No tests. No change in behavior.
1214
1215         * bindings/v8/V8Binding.cpp:
1216         (WebCore::toV8Context):
1217         (WebCore):
1218         * bindings/v8/V8Binding.h:
1219         (WebCore):
1220         * bindings/v8/V8Proxy.cpp:
1221         * bindings/v8/V8Proxy.h:
1222
1223 2012-08-21  Gabriel Peal  <gpeal@google.com>
1224
1225         Web Inspector: Embeddable Web Inspector
1226         https://bugs.webkit.org/show_bug.cgi?id=91528
1227
1228         Reviewed by Pavel Feldman.
1229
1230         Adds functionality to the inspector such that it is better suited to run embedded in another webpage. It adds the ability to prepopulate the timeline panel with an existing recording among other controls.
1231
1232         * English.lproj/localizedStrings.js:
1233         * inspector/front-end/InspectorFrontendAPI.js:
1234         (InspectorFrontendAPI.dispatchQueryParameters):
1235         (InspectorFrontendAPI.loadTimelineFromURL):
1236         * inspector/front-end/InspectorFrontendHostStub.js:
1237         (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels):
1238         (.WebInspector.InspectorFrontendHostStub.prototype.loadResourceSynchronously):
1239         * inspector/front-end/InspectorView.js:
1240         * inspector/front-end/TimelineModel.js:
1241         (WebInspector.TimelineModel.prototype.loadFromURL.onDataReceived):
1242         (WebInspector.TimelineModel.prototype.loadFromURL.parseAndImportData):
1243         (WebInspector.TimelineModel.prototype.loadFromURL.onLoad):
1244         (WebInspector.TimelineModel.prototype.loadFromURL):
1245         * inspector/front-end/TimelinePanel.js:
1246         (WebInspector.TimelinePanel.prototype.loadFromURL):
1247         * inspector/front-end/inspector.js:
1248         (WebInspector._createPanels):
1249         (WebInspector.loaded):
1250         * inspector/front-end/utilities.js:
1251
1252 2012-08-21  Robin Cao  <robin.cao@torchmobile.com.cn>
1253
1254         [BlackBerry] Add support for getUserMedia
1255         https://bugs.webkit.org/show_bug.cgi?id=94591
1256
1257         Reviewed by George Staikos.
1258
1259         Implement getUserMedia feature using the platform API.
1260
1261         Tests in fast/mediastream cover this.
1262
1263         PR #153571
1264
1265         Reviewed internally by George Staikos.
1266
1267         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1268         (WebCore::toWebMediaStreamSource):
1269         (WebCore):
1270         (WebCore::toWebMediaStreamDescriptor):
1271         (WebCore::MediaPlayerPrivate::lookupMediaStream):
1272         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
1273         (MediaPlayerPrivate):
1274
1275 2012-08-21  Pavel Feldman  <pfeldman@chromium.org>
1276
1277         Web Inspector: remove DOMNodeRemoved listener from the DefaultTextEditor
1278         https://bugs.webkit.org/show_bug.cgi?id=94592
1279
1280         Reviewed by Yury Semikhatsky.
1281
1282         It seems to be not necessary.
1283
1284         * inspector/front-end/DefaultTextEditor.js:
1285         (WebInspector.TextEditorMainPanel):
1286         (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
1287         (WebInspector.TextEditorMainChunk):
1288         (WebInspector.TextEditorMainChunk.prototype.set expanded):
1289
1290 2012-08-21  Thiago Marcos P. Santos  <thiago.santos@intel.com>
1291
1292         CodeGeneratorInspector.py: Generate guards for type validators
1293         https://bugs.webkit.org/show_bug.cgi?id=94511
1294
1295         Reviewed by Yury Semikhatsky.
1296
1297         Fix regression when building debug and one of the generated types is
1298         disabled by a compile flag. We should generate guards for these type
1299         validators the same way as we are doing on the include headers.
1300
1301         * inspector/CodeGeneratorInspector.py:
1302         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
1303
1304 2012-08-21  Florin Malita  <fmalita@chromium.org>
1305
1306         ASSERT triggered in SVGTRefTargetEventListener::handleEvent()
1307         https://bugs.webkit.org/show_bug.cgi?id=94487
1308
1309         Reviewed by Nikolas Zimmermann.
1310
1311         The current way of tracking tref target elements by id can leave stale event listeners
1312         under certain circumstances. This patch switches to storing a target RefPtr instead
1313         to avoid an id lookup which may not return the original/attached element.
1314
1315         Test: svg/custom/tref-stale-listener-crash.html
1316
1317         * svg/SVGTRefElement.cpp:
1318         (SVGTRefTargetEventListener):
1319         (WebCore::SVGTRefTargetEventListener::isAttached): use m_target instead of an explicit bool.
1320         (WebCore::SVGTRefTargetEventListener::SVGTRefTargetEventListener):
1321         (WebCore::SVGTRefTargetEventListener::attach): save a target RefPtr instead of an id.
1322         (WebCore::SVGTRefTargetEventListener::detach): detach the target element directly without
1323         going through a lookup.
1324         (WebCore::SVGTRefTargetEventListener::handleEvent):
1325         (WebCore::SVGTRefElement::updateReferencedText): use an explicit target pointer instead of
1326         the id-based lookup.
1327         (WebCore::SVGTRefElement::buildPendingResource):
1328         * svg/SVGTRefElement.h:
1329         (SVGTRefElement):
1330
1331 2012-08-21  Alexandre Elias  <aelias@google.com>
1332
1333         [chromium] Add software bitmap resources to CCResourceProvider
1334         https://bugs.webkit.org/show_bug.cgi?id=93677
1335
1336         Reviewed by Adrienne Walker.
1337
1338         This adds the ability to CCResourceProvider to use software bitmaps.
1339         They are allocated as plain-old-memory, and exposed as Skia objects.
1340
1341         We want the ResourceProvider to be able to handle different resource
1342         types at the same time.  In practice, a default resource type is
1343         desired for most uses within a single compositor instance, which is
1344         specified by the default resource type.  Default resource types are
1345         expected to be mostly 1-to-1 with CCRenderer types.
1346
1347         New tests added by parametrizing existing CCResourceProvider tests.
1348
1349         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
1350         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
1351         * platform/graphics/chromium/LayerRendererChromium.cpp:
1352         (WebCore::applyFilters):
1353         (WebCore::LayerRendererChromium::drawRenderPassQuad):
1354         (WebCore::LayerRendererChromium::drawTileQuad):
1355         (WebCore::LayerRendererChromium::drawYUVVideoQuad):
1356         (WebCore::LayerRendererChromium::drawTextureQuad):
1357         (WebCore::LayerRendererChromium::getFramebufferTexture):
1358         (WebCore::LayerRendererChromium::bindFramebufferToTexture):
1359         * platform/graphics/chromium/LayerRendererChromium.h:
1360         (DrawingFrame):
1361         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
1362         (WebCore::CCResourceProvider::createResource):
1363         (WebCore):
1364         (WebCore::CCResourceProvider::createGLTexture):
1365         (WebCore::CCResourceProvider::createBitmap):
1366         (WebCore::CCResourceProvider::createResourceFromExternalTexture):
1367         (WebCore::CCResourceProvider::deleteResource):
1368         (WebCore::CCResourceProvider::upload):
1369         (WebCore::CCResourceProvider::flush):
1370         (WebCore::CCResourceProvider::shallowFlushIfSupported):
1371         (WebCore::CCResourceProvider::lockForRead):
1372         (WebCore::CCResourceProvider::unlockForRead):
1373         (WebCore::CCResourceProvider::lockForWrite):
1374         (WebCore::CCResourceProvider::unlockForWrite):
1375         (WebCore::CCResourceProvider::ScopedReadLockGL::ScopedReadLockGL):
1376         (WebCore::CCResourceProvider::ScopedReadLockGL::~ScopedReadLockGL):
1377         (WebCore::CCResourceProvider::ScopedWriteLockGL::ScopedWriteLockGL):
1378         (WebCore::CCResourceProvider::ScopedWriteLockGL::~ScopedWriteLockGL):
1379         (WebCore::CCResourceProvider::populateSkBitmapWithResource):
1380         (WebCore::CCResourceProvider::ScopedReadLockSoftware::ScopedReadLockSoftware):
1381         (WebCore::CCResourceProvider::ScopedReadLockSoftware::~ScopedReadLockSoftware):
1382         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::ScopedWriteLockSoftware):
1383         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::~ScopedWriteLockSoftware):
1384         (WebCore::CCResourceProvider::CCResourceProvider):
1385         * platform/graphics/chromium/cc/CCResourceProvider.h:
1386         (WebCore):
1387         (WebCore::CCResourceProvider::setCreationPolicy):
1388         (WebCore::CCResourceProvider::creationPolicy):
1389         (CCResourceProvider):
1390         (ScopedReadLockGL):
1391         (WebCore::CCResourceProvider::ScopedReadLockGL::textureId):
1392         (ScopedWriteLockGL):
1393         (WebCore::CCResourceProvider::ScopedWriteLockGL::textureId):
1394         (ScopedReadLockSoftware):
1395         (WebCore::CCResourceProvider::ScopedReadLockSoftware::skBitmap):
1396         (ScopedWriteLockSoftware):
1397         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::skCanvas):
1398         (Resource):
1399
1400 2012-08-21  Tab Atkins  <tabatkins@google.com>
1401
1402         Track -webkit property usage.
1403         https://bugs.webkit.org/show_bug.cgi?id=93420
1404
1405         Reviewed by Ojan Vafai.
1406
1407         First draft of an attempt to track all usage of -webkit prefixed properties across the web.
1408         This attempt is dumb, but should provide useful data as a first-pass.
1409         I plan to optimize this for better data collection in the future.
1410
1411         No tests added, as this is untestable currently.
1412         It should have zero effect besides histogramming.
1413
1414         * css/CSSParser.cpp:
1415         (WebCore::cssPropertyID):
1416
1417 2012-08-21  Alec Flett  <alecflett@chromium.org>
1418
1419         IndexedDB: remove old update/openCursor glue
1420         https://bugs.webkit.org/show_bug.cgi?id=94378
1421
1422         Reviewed by Tony Chang.
1423
1424         Remove old openCursor and update methods after landing
1425         https://bugs.webkit.org/show_bug.cgi?id=91125 and removing
1426         Chromium-side glue.
1427
1428         No new tests: this code is dead.
1429
1430         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
1431         * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
1432         (IDBObjectStoreBackendImpl):
1433         * Modules/indexeddb/IDBObjectStoreBackendInterface.h:
1434         * inspector/InspectorIndexedDBAgent.cpp:
1435         (WebCore):
1436
1437 2012-08-21  James Robinson  <jamesr@chromium.org>
1438
1439         [chromium] Should be able to destroy a CCLayerTreeHost without manually setting the root layer
1440         https://bugs.webkit.org/show_bug.cgi?id=94631
1441
1442         Reviewed by Adrienne Walker.
1443
1444         In the depths of time when dinosaurs roamed the earth, LayerChromium and CCLayerTreeHost were both reference
1445         counted and there was a cycle between the root LayerChromium and CCLayerTreeHost. This required all users of
1446         CCLayerTreeHost to manually break the cycle by calling setRootLayer(0) before dropping their reference to the
1447         host. Nowadays, CCLayerTreeHost has a single owner and LayerChromiums only have a weak pointer to their host
1448         so we should just do this cleanup ourselves instead of imposing it on callers.
1449
1450         Unit test added to LayerChromiumTest.cpp
1451
1452         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1453         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
1454
1455 2012-08-21  Ulan Degenbaev  <ulan@chromium.org>
1456
1457         Call AdjustAmountOfExternalAllocatedMemory when V8ArrayBuffer constructed and destructed
1458         https://bugs.webkit.org/show_bug.cgi?id=92993
1459
1460         Reviewed by Kenneth Russell.
1461
1462         Call AdjustAmountOfExternalAllocatedMemory when V8ArrayBuffer
1463         is constructed and destructed so that V8's garbage collection
1464         heuristics can account for the memory held by these objects.
1465
1466         * WebCore.gypi:
1467         * bindings/v8/SerializedScriptValue.cpp:
1468         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
1469         (WebCore::V8ArrayBufferDeallocationObserver::instance):
1470         (WebCore):
1471         (WebCore::V8ArrayBuffer::constructorCallback):
1472         * bindings/v8/custom/V8ArrayBufferCustom.h: Added.
1473         (WebCore):
1474         * bindings/v8/custom/V8ArrayBufferViewCustom.cpp:
1475         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1476         (WebCore::constructWebGLArray):
1477         * dom/MessageEvent.cpp:
1478         (WebCore::MessageEvent::MessageEvent):
1479         (WebCore::MessageEvent::initMessageEvent):
1480
1481 2012-08-21  Taiju Tsuiki  <tzik@chromium.org>
1482
1483         Web Inspector: Completion events of InspectorFileSystemAgent should be fired asynchronously.
1484         https://bugs.webkit.org/show_bug.cgi?id=93933
1485
1486         Reviewed by Yury Semikhatsky.
1487
1488         InspectorFileSystemAgent fires completion event too early in error case. It should wait
1489         until JS code is ready.
1490
1491         Test: http/tests/inspector/filesystem/request-directory-content.html
1492               http/tests/inspector/filesystem/request-file-content.html
1493               http/tests/inspector/filesystem/request-metadata.html
1494
1495         * inspector/InspectorFileSystemAgent.cpp:
1496         (WebCore): Add ReportErrorTask class
1497
1498 2012-08-21  Mike West  <mkwst@chromium.org>
1499
1500         Blocking a resource via Content Security Policy should trigger an Error event.
1501         https://bugs.webkit.org/show_bug.cgi?id=89440
1502
1503         Reviewed by Jochen Eisinger.
1504
1505         If a CSP directive is violated, CachedResourceLoader will trigger a
1506         console error, and return a null image. In that case, we now dispatch
1507         an error on the relevant element.
1508
1509         Adjusted http/tests/security/contentSecurityPolicy/image-blocked.html
1510         and http/tests/security/contentSecurityPolicy/register-bypassing-scheme.html
1511         to test the new behavior.
1512
1513         This has the side-effect of also generating errors for images blocked by
1514         Chromium's content settings. Adjusted
1515         platform/chromium/permissionclient/image-permissions.html to agree with
1516         the new behavior.
1517
1518         * loader/ImageLoader.cpp:
1519         (WebCore::ImageLoader::updateFromElement):
1520
1521 2012-08-21  Taiju Tsuiki  <tzik@chromium.org>
1522
1523         Web Inspector: Split out crumb list part of styles from elementsPanel.css
1524         https://bugs.webkit.org/show_bug.cgi?id=94301
1525
1526         Reviewed by Pavel Feldman.
1527
1528         As a preparation to use BreadcrumbList on FileSystem, introduce breadcrumbList.css and
1529         move crumb-related style entries into it from elementsPanel.css.
1530
1531         No new tests. This change does not make functional change.
1532
1533         * WebCore.gypi:
1534         * WebCore.vcproj/WebCore.vcproj:
1535         * inspector/front-end/ElementsPanel.js:
1536         * inspector/front-end/WebKit.qrc:
1537         * inspector/front-end/breadcrumbList.css: Added.
1538         (.crumbs):
1539         (.crumbs .crumb):
1540         (.crumbs .crumb.collapsed > *):
1541         (.crumbs .crumb.collapsed::before):
1542         (.crumbs .crumb.compact .extra):
1543         (.crumbs .crumb.dimmed):
1544         (.crumbs .crumb.start):
1545         (.crumbs .crumb.end):
1546         (.crumbs .crumb.selected):
1547         (.crumbs .crumb.selected:hover):
1548         (.crumbs .crumb.selected.end, .crumbs .crumb.selected.end:hover):
1549         (.crumbs .crumb:hover):
1550         (.crumbs .crumb.dimmed:hover):
1551         (.crumbs .crumb.end:hover):
1552         * inspector/front-end/elementsPanel.css:
1553
1554 2012-08-21  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
1555
1556         canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-6.html fails
1557         https://bugs.webkit.org/show_bug.cgi?id=50797
1558
1559         Reviewed by Andreas Kling.
1560
1561         Add a check in fast-path parseAlphaValue() to return early
1562         if the CSS <alphavalue> ended with an invalid digit.
1563
1564         Test: canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-6.html
1565
1566         * css/CSSParser.cpp:
1567         (WebCore::parseAlphaValue):
1568
1569 2012-08-21  Benjamin Poulain  <bpoulain@apple.com>
1570
1571         Store CString data in the CStringBuffer to avoid the double indirection
1572         https://bugs.webkit.org/show_bug.cgi?id=94562
1573
1574         Reviewed by Darin Adler.
1575
1576         * bindings/cpp/WebDOMCString.cpp:
1577         (WebDOMCString::length): With the patch, CStringBuffer hold the real string length instead of the
1578         size of the buffer including the terminating zero. WebDOMCString is updated accordingly.
1579
1580 2012-08-21  Benjamin Poulain  <bpoulain@apple.com>
1581
1582         Create CSS color output string on 8 bits
1583         https://bugs.webkit.org/show_bug.cgi?id=94625
1584
1585         Reviewed by Andreas Kling.
1586
1587         * css/CSSPrimitiveValue.cpp:
1588         (WebCore::CSSPrimitiveValue::customCssText):
1589         Previously, the output string for a CSS color was computed on 16 bits.
1590         This was mainly forced by the use of String::number().
1591
1592         Since the double to string conversion is done on 8bits anyway, I changed
1593         the code to use dtoa's numberToFixedPrecisionString directly instead of
1594         String::number().
1595         All the other parts were already on 8bits.
1596
1597 2012-08-21  Martin Robinson  <mrobinson@igalia.com>
1598
1599         [GTK] Using a native window for the WebView breaks GtkOverlay
1600         https://bugs.webkit.org/show_bug.cgi?id=90085
1601
1602         Reviewed by Alejandro G. Castro.
1603
1604         No new tests. This will be covered by pixel test for accelerated
1605         compositing when they are activated.
1606
1607         * GNUmakefile.am: Add XComposite libraries to the linker list.
1608         * GNUmakefile.list.am: Add RedirectedXCompositeWindow files to the source list.
1609         Make a new section for GLX specific files.
1610         * platform/graphics/glx/GLContextGLX.cpp:
1611         (WebCore::GLContextGLX::sharedDisplay): Expose sharedDisplay as a static method
1612         so that it can be called by other X11 specific code.
1613         * platform/graphics/glx/GLContextGLX.h: Ditto.
1614         * platform/gtk/RedirectedXCompositeWindow.cpp: Added. An implementation of a GL surface
1615         that renders to an X-window which redirects to a pixmap.
1616         * platform/gtk/RedirectedXCompositeWindow.h: Added.
1617
1618 2012-08-21  David Hyatt  <hyatt@apple.com>
1619
1620         [New Multicolumn] Make column rules paint properly.
1621         https://bugs.webkit.org/show_bug.cgi?id=94616
1622
1623         Reviewed by Simon Fraser.
1624
1625         Make the new multi-column code paint column rules and also prepare it for painting
1626         the actual column contents.
1627
1628         * rendering/RenderMultiColumnBlock.cpp:
1629         (WebCore::RenderMultiColumnBlock::ensureColumnSets):
1630         Remove the addRegionToThread call, since this is now done automatically in RenderRegion::insertedIntoTree.
1631         
1632         * rendering/RenderMultiColumnBlock.h:
1633         (WebCore::RenderMultiColumnBlock::flowThread):
1634         Make public so that RenderMultiColumnSet can access it.
1635         
1636         (RenderMultiColumnBlock):
1637         * rendering/RenderMultiColumnSet.cpp:
1638         (WebCore::RenderMultiColumnSet::columnGap):
1639         Add a column gap fetch method. It's identical to the one on RenderBlock (which will eventually go away
1640         when we kill the old multi-column code).
1641         
1642         (WebCore::RenderMultiColumnSet::columnRectAt):
1643         Also identical to the RenderBlock version of this method. Gets the rect for the nth column.
1644         
1645         (WebCore::RenderMultiColumnSet::paintReplaced):
1646         Subclass paintReplaced in order to do column rules and contents painting.
1647         
1648         (WebCore::RenderMultiColumnSet::paintColumnRules):
1649         (WebCore::RenderMultiColumnSet::paintColumnContents):
1650         Similar to the methods on RenderBlock. The former paints the rules and the latter paints the contents of
1651         the flow thread into the columns.
1652         
1653         * rendering/RenderMultiColumnSet.h:
1654         (RenderMultiColumnSet):
1655         Add the declarations of all the new methods.
1656         
1657         * rendering/RenderRegion.cpp:
1658         (WebCore::RenderRegion::installFlowThread):
1659         Added a new virtual function for installing flow threads when they didn't exist at construction time.
1660         This only applies to actual CSS Regions, so the subclass of the method in RenderRegionSet just does
1661         nothing.
1662         
1663         (WebCore::RenderRegion::attachRegion):
1664         Get the named flow thread code out of attachRegion, since it broke multi-column. Moved it into a
1665         virtual function, installFlowThread, that is only used by actual CSS regions. Eventually we may
1666         want a RenderRegion subclass that represents a region for a named flow thread only, but for now
1667         let the code sit in installFlowThread in the base class.
1668         
1669         * rendering/RenderRegion.h:
1670         (RenderRegion):
1671         Add installFlowThread declaration.
1672         
1673         * rendering/RenderRegionSet.cpp:
1674         (WebCore::RenderRegionSet::installFlowThread):
1675         installFlowThread for region sets just does nothing, since we don't use named flow threads.
1676         
1677         * rendering/RenderRegionSet.h:
1678         (RenderRegionSet):
1679         Add the override of installFlowThread.
1680
1681 2012-08-21  Patrick Gansterer  <paroga@webkit.org>
1682
1683         [WIN] Build fix for !ENABLE(DRAG_SUPPORT).
1684
1685         * page/win/EventHandlerWin.cpp:
1686         (WebCore):
1687         (WebCore::EventHandler::passMouseMoveEventToSubframe):
1688
1689 2012-08-21  James Robinson  <jamesr@chromium.org>
1690
1691         Unreviewed, rolling out r126170.
1692         http://trac.webkit.org/changeset/126170
1693         https://bugs.webkit.org/show_bug.cgi?id=94614
1694
1695         I spoke too soon
1696
1697         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
1698         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
1699         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
1700         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
1701         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
1702         (WebCore::ScrollingCoordinatorPrivate::hasScrollLayer):
1703         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
1704         (ScrollingCoordinatorPrivate):
1705         (WebCore::createScrollbarLayer):
1706         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
1707         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
1708         (WebCore::ScrollingCoordinator::setScrollLayer):
1709         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
1710         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
1711         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
1712         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
1713         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
1714         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
1715         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
1716         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
1717         (WebCore::Canvas2DLayerBridge::prepareForDraw):
1718         (WebCore::Canvas2DLayerBridge::layer):
1719         (WebCore::Canvas2DLayerBridge::contextAcquired):
1720         * platform/graphics/chromium/Canvas2DLayerBridge.h:
1721         (Canvas2DLayerBridge):
1722         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1723         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
1724         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
1725         (WebCore::DrawingBufferPrivate::layer):
1726         (DrawingBufferPrivate):
1727         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1728         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
1729         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
1730         (WebCore::GraphicsLayerChromium::willBeDestroyed):
1731         (WebCore):
1732         (WebCore::GraphicsLayerChromium::updateNames):
1733         (WebCore::GraphicsLayerChromium::removeFromParent):
1734         (WebCore::GraphicsLayerChromium::setSize):
1735         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
1736         (WebCore::GraphicsLayerChromium::setContentsOpaque):
1737         (WebCore::GraphicsLayerChromium::setFilters):
1738         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
1739         (WebCore::GraphicsLayerChromium::setMaskLayer):
1740         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
1741         (WebCore::GraphicsLayerChromium::setOpacity):
1742         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
1743         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
1744         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
1745         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
1746         (WebCore::GraphicsLayerChromium::setContentsToImage):
1747         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
1748         (WebCore::GraphicsLayerChromium::addAnimation):
1749         (WebCore::GraphicsLayerChromium::pauseAnimation):
1750         (WebCore::GraphicsLayerChromium::removeAnimation):
1751         (WebCore::GraphicsLayerChromium::suspendAnimations):
1752         (WebCore::GraphicsLayerChromium::resumeAnimations):
1753         (WebCore::GraphicsLayerChromium::addLinkHighlight):
1754         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
1755         (WebCore::GraphicsLayerChromium::setContentsToMedia):
1756         (WebCore::GraphicsLayerChromium::primaryLayer):
1757         (WebCore::GraphicsLayerChromium::platformLayer):
1758         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
1759         (WebCore::GraphicsLayerChromium::setDebugBorder):
1760         (WebCore::GraphicsLayerChromium::updateChildList):
1761         (WebCore::GraphicsLayerChromium::updateLayerPosition):
1762         (WebCore::GraphicsLayerChromium::updateLayerSize):
1763         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
1764         (WebCore::GraphicsLayerChromium::updateTransform):
1765         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
1766         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
1767         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
1768         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
1769         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
1770         (WebCore::GraphicsLayerChromium::updateContentsRect):
1771         (WebCore::GraphicsLayerChromium::updateContentsScale):
1772         (WebCore::GraphicsLayerChromium::setupContentsLayer):
1773         * platform/graphics/chromium/GraphicsLayerChromium.h:
1774         (WebCore::GraphicsLayerChromium::hasContentsLayer):
1775         (GraphicsLayerChromium):
1776         (WebCore::GraphicsLayerChromium::contentsLayer):
1777         * platform/graphics/chromium/LayerChromium.cpp:
1778         (WebCore::LayerChromium::rootLayer):
1779         * platform/graphics/chromium/LayerChromium.h:
1780
1781 2012-08-21  Adam Barth  <abarth@webkit.org>
1782
1783         Update run-bindings-tests results after http://trac.webkit.org/changeset/126165
1784
1785         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1786         (WebCore::jsTestActiveDOMObjectExcitingAttr):
1787         (WebCore::jsTestActiveDOMObjectConstructor):
1788         (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
1789
1790 2012-08-21  Vincent Scheib  <scheib@chromium.org>
1791
1792         Add parsing logic for allow-pointer-lock to iframe sandbox attribute.
1793         https://bugs.webkit.org/show_bug.cgi?id=94513
1794
1795         Reviewed by Adam Barth.
1796
1797         Pointer lock was previously blocked from all sandboxed iframes.
1798         Parsing the sandbox="allow-pointer-lock" attribute allows pages
1799         to control the feature and enable it in sandboxed iframes.
1800
1801         Tests: http/tests/pointer-lock/iframe-sandboxed-allow-pointer-lock.html
1802                http/tests/pointer-lock/iframe-sandboxed-nested-allow-pointer-lock.html
1803                http/tests/pointer-lock/iframe-sandboxed-nested-disallow-then-allow-pointer-lock.html
1804
1805         * dom/SecurityContext.cpp:
1806         (WebCore::SecurityContext::parseSandboxPolicy):
1807
1808 2012-08-21  James Robinson  <jamesr@chromium.org>
1809
1810         Unreviewed, rolling out r126169.
1811         http://trac.webkit.org/changeset/126169
1812         https://bugs.webkit.org/show_bug.cgi?id=94614
1813
1814         Crashes already fixed downstream
1815
1816         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
1817         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
1818         (ScrollingCoordinatorPrivate):
1819         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
1820         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
1821         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
1822         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
1823         (WebCore::scrollableLayerForGraphicsLayer):
1824         (WebCore):
1825         (WebCore::createScrollbarLayer):
1826         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
1827         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
1828         (WebCore::ScrollingCoordinator::setScrollLayer):
1829         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
1830         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
1831         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
1832         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
1833         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
1834         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
1835         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
1836         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
1837         (WebCore::Canvas2DLayerBridge::prepareForDraw):
1838         (WebCore::Canvas2DLayerBridge::layer):
1839         (WebCore::Canvas2DLayerBridge::contextAcquired):
1840         * platform/graphics/chromium/Canvas2DLayerBridge.h:
1841         (Canvas2DLayerBridge):
1842         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1843         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
1844         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
1845         (WebCore::DrawingBufferPrivate::layer):
1846         (DrawingBufferPrivate):
1847         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1848         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
1849         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
1850         (WebCore::GraphicsLayerChromium::updateNames):
1851         (WebCore::GraphicsLayerChromium::removeFromParent):
1852         (WebCore::GraphicsLayerChromium::setSize):
1853         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
1854         (WebCore::GraphicsLayerChromium::setContentsOpaque):
1855         (WebCore::GraphicsLayerChromium::setFilters):
1856         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
1857         (WebCore::GraphicsLayerChromium::setMaskLayer):
1858         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
1859         (WebCore::GraphicsLayerChromium::setOpacity):
1860         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
1861         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
1862         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
1863         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
1864         (WebCore::GraphicsLayerChromium::setContentsToImage):
1865         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
1866         (WebCore):
1867         (WebCore::GraphicsLayerChromium::setContentsToMedia):
1868         (WebCore::GraphicsLayerChromium::setContentsTo):
1869         (WebCore::GraphicsLayerChromium::addAnimation):
1870         (WebCore::GraphicsLayerChromium::pauseAnimation):
1871         (WebCore::GraphicsLayerChromium::removeAnimation):
1872         (WebCore::GraphicsLayerChromium::suspendAnimations):
1873         (WebCore::GraphicsLayerChromium::resumeAnimations):
1874         (WebCore::GraphicsLayerChromium::addLinkHighlight):
1875         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
1876         (WebCore::GraphicsLayerChromium::platformLayer):
1877         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
1878         (WebCore::GraphicsLayerChromium::setDebugBorder):
1879         (WebCore::GraphicsLayerChromium::updateChildList):
1880         (WebCore::GraphicsLayerChromium::updateLayerPosition):
1881         (WebCore::GraphicsLayerChromium::updateLayerSize):
1882         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
1883         (WebCore::GraphicsLayerChromium::updateTransform):
1884         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
1885         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
1886         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
1887         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
1888         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
1889         (WebCore::GraphicsLayerChromium::updateContentsRect):
1890         (WebCore::GraphicsLayerChromium::updateContentsScale):
1891         (WebCore::GraphicsLayerChromium::setupContentsLayer):
1892         * platform/graphics/chromium/GraphicsLayerChromium.h:
1893         (WebCore::GraphicsLayerChromium::hasContentsLayer):
1894         (WebCore::GraphicsLayerChromium::contentLayer):
1895         (GraphicsLayerChromium):
1896         (WebCore::GraphicsLayerChromium::contentsLayer):
1897         * platform/graphics/chromium/LayerChromium.cpp:
1898         (WebCore::LayerChromium::rootLayer):
1899         * platform/graphics/chromium/LayerChromium.h:
1900
1901 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
1902
1903         Unreviewed, rolling out r126076, r126099, and r126106.
1904         http://trac.webkit.org/changeset/126076
1905         http://trac.webkit.org/changeset/126099
1906         http://trac.webkit.org/changeset/126106
1907         https://bugs.webkit.org/show_bug.cgi?id=94614
1908
1909         Caused crashes during compositor shutdown in Aura builds of
1910         Chromium (Requested by kbr_google on #webkit).
1911
1912         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
1913         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
1914         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
1915         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
1916         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
1917         (WebCore::ScrollingCoordinatorPrivate::hasScrollLayer):
1918         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
1919         (ScrollingCoordinatorPrivate):
1920         (WebCore::createScrollbarLayer):
1921         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
1922         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
1923         (WebCore::ScrollingCoordinator::setScrollLayer):
1924         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
1925         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
1926         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
1927         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
1928         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
1929         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
1930         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
1931         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
1932         (WebCore::Canvas2DLayerBridge::prepareForDraw):
1933         (WebCore::Canvas2DLayerBridge::layer):
1934         (WebCore::Canvas2DLayerBridge::contextAcquired):
1935         * platform/graphics/chromium/Canvas2DLayerBridge.h:
1936         (Canvas2DLayerBridge):
1937         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1938         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
1939         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
1940         (WebCore::DrawingBufferPrivate::layer):
1941         (DrawingBufferPrivate):
1942         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1943         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
1944         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
1945         (WebCore::GraphicsLayerChromium::willBeDestroyed):
1946         (WebCore):
1947         (WebCore::GraphicsLayerChromium::updateNames):
1948         (WebCore::GraphicsLayerChromium::removeFromParent):
1949         (WebCore::GraphicsLayerChromium::setSize):
1950         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
1951         (WebCore::GraphicsLayerChromium::setContentsOpaque):
1952         (WebCore::GraphicsLayerChromium::setFilters):
1953         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
1954         (WebCore::GraphicsLayerChromium::setMaskLayer):
1955         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
1956         (WebCore::GraphicsLayerChromium::setOpacity):
1957         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
1958         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
1959         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
1960         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
1961         (WebCore::GraphicsLayerChromium::setContentsToImage):
1962         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
1963         (WebCore::GraphicsLayerChromium::addAnimation):
1964         (WebCore::GraphicsLayerChromium::pauseAnimation):
1965         (WebCore::GraphicsLayerChromium::removeAnimation):
1966         (WebCore::GraphicsLayerChromium::suspendAnimations):
1967         (WebCore::GraphicsLayerChromium::resumeAnimations):
1968         (WebCore::GraphicsLayerChromium::addLinkHighlight):
1969         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
1970         (WebCore::GraphicsLayerChromium::setContentsToMedia):
1971         (WebCore::GraphicsLayerChromium::primaryLayer):
1972         (WebCore::GraphicsLayerChromium::platformLayer):
1973         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
1974         (WebCore::GraphicsLayerChromium::setDebugBorder):
1975         (WebCore::GraphicsLayerChromium::updateChildList):
1976         (WebCore::GraphicsLayerChromium::updateLayerPosition):
1977         (WebCore::GraphicsLayerChromium::updateLayerSize):
1978         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
1979         (WebCore::GraphicsLayerChromium::updateTransform):
1980         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
1981         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
1982         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
1983         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
1984         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
1985         (WebCore::GraphicsLayerChromium::updateContentsRect):
1986         (WebCore::GraphicsLayerChromium::updateContentsScale):
1987         (WebCore::GraphicsLayerChromium::setupContentsLayer):
1988         * platform/graphics/chromium/GraphicsLayerChromium.h:
1989         (WebCore::GraphicsLayerChromium::hasContentsLayer):
1990         (GraphicsLayerChromium):
1991         (WebCore::GraphicsLayerChromium::contentsLayer):
1992         * platform/graphics/chromium/LayerChromium.cpp:
1993         (WebCore::LayerChromium::rootLayer):
1994         * platform/graphics/chromium/LayerChromium.h:
1995
1996 2012-08-21  Pavel Feldman  <pfeldman@chromium.org>
1997
1998         Web Inspector: do not use window's eval in InjectedScript
1999         https://bugs.webkit.org/show_bug.cgi?id=94610
2000
2001         Reviewed by Yury Semikhatsky.
2002
2003         Otherwise, inspector does not work when eval is overriden.
2004
2005         Test: inspector/console/console-eval-fake.html
2006
2007         * bindings/js/JSInjectedScriptHostCustom.cpp:
2008         (WebCore::JSInjectedScriptHost::evaluate):
2009         (WebCore):
2010         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2011         (WebCore::V8InjectedScriptHost::evaluateCallback):
2012         (WebCore):
2013         * inspector/InjectedScriptHost.idl:
2014         * inspector/InjectedScriptSource.js:
2015         (.):
2016
2017 2012-08-21  Adam Barth  <abarth@webkit.org>
2018
2019         Implement JSDOMWindow*::allowsAccessFrom* in terms of BindingSecurity
2020         https://bugs.webkit.org/show_bug.cgi?id=93407
2021
2022         Reviewed by Eric Seidel.
2023
2024         This patch removes allowsAccessFrom and implements the security checks
2025         in terms of shouldAllowAccessToDOMWindow directly.
2026
2027         * bindings/generic/BindingSecurity.cpp:
2028         (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow):
2029         (WebCore):
2030         * bindings/generic/BindingSecurity.h:
2031         (BindingSecurity):
2032         * bindings/js/JSDOMBinding.cpp:
2033         (WebCore::shouldAllowAccessToFrame):
2034         (WebCore):
2035         (WebCore::shouldAllowAccessToDOMWindow):
2036         * bindings/js/JSDOMBinding.h:
2037         (WebCore):
2038         * bindings/js/JSDOMWindowBase.cpp:
2039         (WebCore::shouldAllowAccessFrom):
2040         (WebCore):
2041         * bindings/js/JSDOMWindowBase.h:
2042         (JSDOMWindowBase):
2043         * bindings/js/JSDOMWindowCustom.cpp:
2044         (WebCore::namedItemGetter):
2045         (WebCore::JSDOMWindow::getOwnPropertySlot):
2046         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
2047         (WebCore::JSDOMWindow::put):
2048         (WebCore::JSDOMWindow::deleteProperty):
2049         (WebCore::JSDOMWindow::getPropertyNames):
2050         (WebCore::JSDOMWindow::getOwnPropertyNames):
2051         (WebCore::JSDOMWindow::defineOwnProperty):
2052         (WebCore::JSDOMWindow::setLocation):
2053         * bindings/js/JSDOMWindowCustom.h:
2054         * bindings/js/JSInjectedScriptManager.cpp:
2055         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
2056         * bindings/objc/WebScriptObject.mm:
2057         (-[WebScriptObject _isSafeScript]):
2058         * bindings/scripts/CodeGeneratorJS.pm:
2059         (GenerateGetOwnPropertyDescriptorBody):
2060         (GenerateImplementation):
2061
2062 2012-08-21  Dan Bernstein  <mitz@apple.com>
2063
2064         <rdar://problem/12104508> TextIterator takes O(n^2) to iterate over n empty blocks
2065         https://bugs.webkit.org/show_bug.cgi?id=94429
2066
2067         Reviewed by Sam Weinig.
2068
2069         No new tests, because behavior is unchanged.
2070
2071         * editing/TextIterator.cpp:
2072         (WebCore::TextIterator::shouldRepresentNodeOffsetZero): Enhanced the check for nodes that
2073         cannot contain VisiblePosition to also check for zero-height blocks.
2074
2075 2012-08-21  'Pavel Feldman'  <pfeldman@chromium.org>
2076
2077         Web Inspector: break on exceptions decoration was lost, restoring.
2078
2079         Not reviewed - a follow up to 126012.
2080
2081         * inspector/front-end/ScriptsPanel.js:
2082         (WebInspector.ScriptsPanel.prototype._pauseOnExceptionStateChanged.get switch):
2083         (WebInspector.ScriptsPanel.prototype._pauseOnExceptionStateChanged):
2084
2085 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
2086
2087         Unreviewed, rolling out r126146.
2088         http://trac.webkit.org/changeset/126146
2089         https://bugs.webkit.org/show_bug.cgi?id=94606
2090
2091         It made all tests assert (Requested by Ossy on #webkit).
2092
2093         * bridge/qt/qt_runtime.cpp:
2094         (JSC::Bindings::prototypeForSignalsAndSlots):
2095         (JSC::Bindings::QtRuntimeMethod::call):
2096         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
2097         (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
2098         * bridge/qt/qt_runtime.h:
2099         (QtRuntimeMethod):
2100
2101 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
2102
2103         Unreviewed, rolling out r126150.
2104         http://trac.webkit.org/changeset/126150
2105         https://bugs.webkit.org/show_bug.cgi?id=94605
2106
2107         Breaks 73 layout tests on chromium.webkit builder (Requested
2108         by pfeldman on #webkit).
2109
2110         * UseV8.cmake:
2111         * WebCore.gypi:
2112         * bindings/v8/V8Binding.cpp:
2113         (StringTraits):
2114         (WebCore):
2115         (WebCore::v8StringToWebCoreString):
2116         (WebCore::int32ToWebCoreStringFast):
2117         (WebCore::int32ToWebCoreString):
2118         * bindings/v8/V8Binding.h:
2119         (WebCore):
2120         (V8ParameterBase):
2121         (WebCore::V8ParameterBase::operator String):
2122         (WebCore::V8ParameterBase::operator AtomicString):
2123         (WebCore::V8ParameterBase::V8ParameterBase):
2124         (WebCore::V8ParameterBase::prepareBase):
2125         (WebCore::V8ParameterBase::object):
2126         (WebCore::V8ParameterBase::setString):
2127         (WebCore::V8ParameterBase::toString):
2128         (WebCore::::prepare):
2129         * bindings/v8/V8StringResource.cpp: Removed.
2130         * bindings/v8/V8StringResource.h: Removed.
2131
2132 2012-08-21  Philippe Normand  <pnormand@igalia.com>
2133
2134         Early returns in MediaPlayer setters
2135         https://bugs.webkit.org/show_bug.cgi?id=87304
2136
2137         Calls to the MediaPlayerPrivate implementation can be avoided if
2138         the value to set and the current value are equal.
2139
2140         Reviewed by Eric Carlson.
2141
2142         * platform/graphics/MediaPlayer.cpp:
2143         (WebCore::MediaPlayer::loadWithNextMediaEngine): Once a new
2144         MediaPlayerPrivate has been created propagate the playback rate
2145         value to it, as it is done for some other attributes like preload
2146         or preservePitch.
2147         (WebCore::MediaPlayer::setVolume): Perform action only if current
2148         and new values differ.
2149         (WebCore::MediaPlayer::setMuted): Ditto.
2150         (WebCore::MediaPlayer::setPreservesPitch): Ditto.
2151         (WebCore::MediaPlayer::setSize): Ditto.
2152         (WebCore::MediaPlayer::setVisible): Ditto.
2153         (WebCore::MediaPlayer::setPreload): Ditto.
2154
2155 2012-08-21  Ilya Tikhonovsky  <loislo@chromium.org>
2156
2157         Web Inspector: NMI: OwnPtr<T> was counted as RefPtr<T>
2158         https://bugs.webkit.org/show_bug.cgi?id=94599
2159
2160         Reviewed by Yury Semikhatsky.
2161
2162         * dom/MemoryInstrumentation.h:
2163         (WebCore::MemoryObjectInfo::MemoryObjectInfo):
2164         (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
2165         (WebCore::MemoryInstrumentation::addObjectImpl):
2166
2167 2012-08-21  Ilya Tikhonovsky  <loislo@chromium.org>
2168
2169         Web Inspector: NMI: rename addMember for strings and KURL to addInstrumentedMember.
2170         https://bugs.webkit.org/show_bug.cgi?id=94580
2171
2172         Reviewed by Yury Semikhatsky.
2173
2174         Drive by fix: immutable ElementAttrybuteData uses the same trick with placement new as in StylePropertySet.
2175
2176         * css/CSSCanvasValue.cpp:
2177         (WebCore::CSSCanvasValue::reportDescendantMemoryUsage):
2178         * css/CSSCharsetRule.cpp:
2179         (WebCore::CSSCharsetRule::reportDescendantMemoryUsage):
2180         * css/CSSFontFaceSrcValue.cpp:
2181         (WebCore::CSSFontFaceSrcValue::reportDescendantMemoryUsage):
2182         * css/CSSFunctionValue.cpp:
2183         (WebCore::CSSFunctionValue::reportDescendantMemoryUsage):
2184         * css/CSSImageSetValue.cpp:
2185         (WebCore::CSSImageSetValue::ImageWithScale::reportMemoryUsage):
2186         * css/CSSImageValue.cpp:
2187         (WebCore::CSSImageValue::reportDescendantMemoryUsage):
2188         * css/CSSPrimitiveValue.cpp:
2189         (WebCore::CSSPrimitiveValue::reportDescendantMemoryUsage):
2190         * css/CSSStyleSheet.cpp:
2191         (WebCore::CSSStyleSheet::reportMemoryUsage):
2192         * css/CSSValue.cpp:
2193         (WebCore::TextCloneCSSValue::reportDescendantMemoryUsage):
2194         * css/CSSVariableValue.h:
2195         (WebCore::CSSVariableValue::reportDescendantMemoryUsage):
2196         * css/FontFeatureValue.cpp:
2197         (WebCore::FontFeatureValue::reportDescendantMemoryUsage):
2198         * css/MediaQuery.cpp:
2199         (WebCore::MediaQuery::reportMemoryUsage):
2200         * css/MediaQueryExp.cpp:
2201         (WebCore::MediaQueryExp::reportMemoryUsage):
2202         * css/StyleRuleImport.cpp:
2203         (WebCore::StyleRuleImport::reportDescendantMemoryUsage):
2204         * css/StyleSheetContents.cpp:
2205         (WebCore::StyleSheetContents::reportMemoryUsage):
2206         * css/WebKitCSSKeyframeRule.cpp:
2207         (WebCore::StyleKeyframe::reportMemoryUsage):
2208         * css/WebKitCSSKeyframesRule.cpp:
2209         (WebCore::StyleRuleKeyframes::reportDescendantMemoryUsage):
2210         * css/WebKitCSSSVGDocumentValue.cpp:
2211         (WebCore::WebKitCSSSVGDocumentValue::reportDescendantMemoryUsage):
2212         * css/WebKitCSSShaderValue.cpp:
2213         (WebCore::WebKitCSSShaderValue::reportDescendantMemoryUsage):
2214         * dom/Attribute.h:
2215         (WebCore::Attribute::reportMemoryUsage):
2216         * dom/CharacterData.cpp:
2217         (WebCore::CharacterData::reportMemoryUsage):
2218         * dom/Document.cpp:
2219         (WebCore::Document::reportMemoryUsage):
2220         * dom/ElementAttributeData.cpp:
2221         (WebCore::immutableElementAttributeDataSize):
2222         (WebCore):
2223         (WebCore::ElementAttributeData::createImmutable):
2224         (WebCore::ElementAttributeData::reportMemoryUsage):
2225         * dom/Event.cpp:
2226         (WebCore::Event::reportMemoryUsage):
2227         * dom/MemoryInstrumentation.cpp:
2228         (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
2229         * dom/MemoryInstrumentation.h:
2230         (MemoryInstrumentation):
2231         * dom/QualifiedName.h:
2232         (WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
2233         * loader/DocumentLoader.cpp:
2234         (WebCore::DocumentLoader::reportMemoryUsage):
2235         * loader/FrameLoader.cpp:
2236         (WebCore::FrameLoader::reportMemoryUsage):
2237         * loader/SubstituteData.cpp:
2238         (WebCore::SubstituteData::reportMemoryUsage):
2239         * loader/cache/CachedCSSStyleSheet.cpp:
2240         (WebCore::CachedCSSStyleSheet::reportMemoryUsage):
2241         * loader/cache/CachedResource.cpp:
2242         (WebCore::CachedResource::reportMemoryUsage):
2243         * loader/cache/CachedResourceLoader.cpp:
2244         (WebCore::CachedResourceLoader::reportMemoryUsage):
2245         * loader/cache/CachedScript.cpp:
2246         (WebCore::CachedScript::reportMemoryUsage):
2247         * loader/cache/CachedShader.cpp:
2248         (WebCore::CachedShader::reportMemoryUsage):
2249         * loader/cache/CachedXSLStyleSheet.cpp:
2250         (WebCore::CachedXSLStyleSheet::reportMemoryUsage):
2251         * loader/cache/MemoryCache.cpp:
2252         (WebCore::MemoryCache::reportMemoryUsage):
2253         * platform/network/ResourceRequestBase.cpp:
2254         (WebCore::ResourceRequestBase::reportMemoryUsage):
2255         * platform/network/ResourceResponseBase.cpp:
2256         (WebCore::ResourceResponseBase::reportMemoryUsage):
2257         * rendering/style/StyleRareInheritedData.cpp:
2258         (WebCore::StyleRareInheritedData::reportMemoryUsage):
2259         * rendering/style/StyleRareNonInheritedData.cpp:
2260         (WebCore::StyleRareNonInheritedData::reportMemoryUsage):
2261         * svg/SVGPaint.cpp:
2262         (WebCore::SVGPaint::reportDescendantMemoryUsage):
2263
2264 2012-08-20  Kentaro Hara  <haraken@chromium.org>
2265
2266         [V8] Move String related code in V8Binding to a separate file
2267         https://bugs.webkit.org/show_bug.cgi?id=94571
2268
2269         Reviewed by Adam Barth.
2270
2271         This patch moves V8Parameter, V8ParameterBase and String related code
2272         in V8Binding to a separate file.
2273
2274         No tests. No change in behavior.
2275
2276         * UseV8.cmake:
2277         * WebCore.gypi:
2278         * bindings/v8/V8Binding.cpp:
2279         * bindings/v8/V8Binding.h:
2280         * bindings/v8/V8StringResource.cpp: Added.
2281         * bindings/v8/V8StringResource.h: Added.
2282         (WebCore):
2283
2284 2012-08-17  Simon Hausmann  <simon.hausmann@nokia.com>
2285
2286         [Qt] REGRESSION(r125428): fast/profiler/nested-start-and-stop-profiler.html fails
2287         https://bugs.webkit.org/show_bug.cgi?id=93897
2288
2289         Reviewed by Kenneth Rohde Christiansen.
2290
2291         Before r125428 run-time methods (wrapped signals, slots or invokable functions) were subclasses of
2292         JSInternalFunction and therefore real function objects in the JavaScript sense. r125428 changed them
2293         to be just callable objects, but they did not have Function.prototype as prototype anymore for example
2294         nor was their name correct (resulting in a layout test failure).
2295
2296         This patch changes run-time methods back to being real function objects that have a correct name and
2297         have Function.prototype in their prototype change
2298
2299         The objects returned by JSObjectMakeFunctionWithCallbackInjected are light-weight internal function objects
2300         that do not support JSObject{Set/Get}Private. Therefore we inject our own prototype right before the
2301         Function.prototype prototype, which uses private data to store a pointer to our C++ QtRuntimeMethod object.
2302         This complicates the retrieval of the pointer to that instance slightly, which is why this patch introduces
2303         the toRuntimeMethod convenience function that looks up our prototype first and does a check for type-safety.
2304
2305         At the same time the patch removes the length properties from the run-time method itself as well as connect/disconnect.
2306         The length property on a function signifies the number of arguments, but in all three cases that number is
2307         actually variable, because of overloading. That is why we choose not to expose it in the first place.
2308
2309         * bridge/qt/qt_runtime.cpp:
2310         (JSC::Bindings::prototypeForSignalsAndSlots):
2311         (JSC::Bindings::QtRuntimeMethod::call):
2312         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
2313         (JSC::Bindings::QtRuntimeMethod::toRuntimeMethod):
2314         (Bindings):
2315         (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
2316         * bridge/qt/qt_runtime.h:
2317         (QtRuntimeMethod): Remove unused member variables.
2318
2319 2012-08-21  Simon Hausmann  <simon.hausmann@nokia.com>
2320
2321         Unreviewed build fix for newer Qt 5 versions: QVariant::WidgetStar has been removed,
2322         but fortunately QMetaType has a much more powerful function available for us to use.
2323
2324         Thanks to Jedrzej Nowacki for the hint :)
2325
2326         * bridge/qt/qt_runtime.cpp:
2327         (JSC::Bindings::convertQVariantToValue):
2328
2329 2012-08-21  Kentaro Hara  <haraken@chromium.org>
2330
2331         [V8] Remove String::New() from V8 binding (Part 1)
2332         https://bugs.webkit.org/show_bug.cgi?id=94574
2333
2334         Reviewed by Adam Barth.
2335
2336         Currently, V8 binding mixes String::New(), String::NewSymbol() and v8String().
2337         String::New() should be replaced with String::NewSymbol() or v8String(),
2338         depending on use cases:
2339
2340         - If it is a symbol (e.g. attribute name, constant string, etc),
2341         String::NewSymbol() should be used. Cache of created symbols is managed by V8.
2342
2343         - If it is not a symbol, v8String() should be used. Cache of created strings
2344         is managed by V8 binding (i.e. StringCache class).
2345
2346         This patch replaces String::New() for symbols with String::NewSymbol().
2347
2348         No tests. No change in behavior.
2349
2350         * bindings/scripts/CodeGeneratorV8.pm:
2351         (GenerateNamedConstructorCallback):
2352         (GenerateNonStandardFunction):
2353         (GenerateImplementation):
2354         * bindings/scripts/test/V8/V8Float64Array.cpp:
2355         (WebCore::ConfigureV8Float64ArrayTemplate):
2356         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2357         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
2358         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2359         (WebCore::ConfigureV8TestEventTargetTemplate):
2360         * bindings/scripts/test/V8/V8TestInterface.cpp:
2361         (WebCore::ConfigureV8TestInterfaceTemplate):
2362         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2363         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
2364         * bindings/scripts/test/V8/V8TestObj.cpp:
2365         (WebCore::ConfigureV8TestObjTemplate):
2366         (WebCore::V8TestObj::installPerContextProperties):
2367         * bindings/v8/V8DOMConfiguration.cpp:
2368         (WebCore::V8DOMConfiguration::batchConfigureConstants):
2369         (WebCore::V8DOMConfiguration::batchConfigureCallbacks):
2370         (WebCore::V8DOMConfiguration::configureTemplate):
2371         * bindings/v8/V8DOMConfiguration.h:
2372         (WebCore::V8DOMConfiguration::configureAttribute):
2373
2374 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
2375
2376         Unreviewed, rolling out r126028.
2377         http://trac.webkit.org/changeset/126028
2378         https://bugs.webkit.org/show_bug.cgi?id=94576
2379
2380         it broke compilation on apple webkit win. (Requested by loislo
2381         on #webkit).
2382
2383         * inspector/CodeGeneratorInspector.py:
2384         * inspector/InjectedScriptWebGLModule.cpp:
2385         (WebCore::InjectedScriptWebGLModule::captureFrame):
2386         * inspector/InjectedScriptWebGLModule.h:
2387         (InjectedScriptWebGLModule):
2388         * inspector/Inspector.json:
2389         * inspector/InspectorController.cpp:
2390         (WebCore::InspectorController::InspectorController):
2391         * inspector/InspectorWebGLAgent.cpp:
2392         (WebCore::InspectorWebGLAgent::InspectorWebGLAgent):
2393         * inspector/InspectorWebGLAgent.h:
2394         (WebCore):
2395         (WebCore::InspectorWebGLAgent::create):
2396         (InspectorWebGLAgent):
2397
2398 2012-08-20  Ilya Tikhonovsky  <loislo@chromium.org>
2399
2400         Web Inspector: NMI: wrong size was reported for immutable StylePropertySet
2401         https://bugs.webkit.org/show_bug.cgi?id=94489
2402
2403         Reviewed by Yury Semikhatsky.
2404
2405         Immutable StylePropertySet is created via placement new.
2406         The rest of the allocated buffer is used as an array of CSSProperty.
2407         This means that we don't need to report m_properties member but have to report actual size of the buffer
2408         used for both, the object and CSSProperty array.
2409
2410         * css/StylePropertySet.cpp:
2411         (WebCore::immutableStylePropertySetSize):
2412         (WebCore):
2413         (WebCore::StylePropertySet::createImmutable):
2414         (WebCore::StylePropertySet::reportMemoryUsage):
2415         * dom/MemoryInstrumentation.h:
2416         (WebCore::MemoryObjectInfo::reportObjectInfo):
2417         (WebCore::MemoryClassInfo::MemoryClassInfo):
2418
2419 2012-08-20  Kentaro Hara  <haraken@chromium.org>
2420
2421         [V8] Move handleOutOfMemory() from V8Proxy to V8Binding
2422         https://bugs.webkit.org/show_bug.cgi?id=94563
2423
2424         Reviewed by Adam Barth.
2425
2426         To kill V8Proxy, this patch moves handleOutOfMemory() from V8Proxy to V8Binding.
2427
2428         No tests. No change in behavior.
2429
2430         * bindings/v8/V8AbstractEventListener.cpp:
2431         (WebCore::V8AbstractEventListener::invokeEventHandler):
2432         * bindings/v8/V8Binding.cpp:
2433         (WebCore::handleOutOfMemory):
2434         (WebCore):
2435         * bindings/v8/V8Binding.h:
2436         (WebCore):
2437         * bindings/v8/V8Proxy.cpp:
2438         * bindings/v8/V8Proxy.h:
2439         (V8Proxy):
2440         * bindings/v8/WorkerContextExecutionProxy.cpp:
2441         (WebCore::WorkerContextExecutionProxy::runScript):
2442
2443 2012-08-20  MORITA Hajime  <morrita@google.com>
2444
2445         InsertionShouldCallDidNotifyDescendantInsertions should be merged to InsertionShouldCallDidNotifySubtreeInsertions
2446         https://bugs.webkit.org/show_bug.cgi?id=94570
2447
2448         Reviewed by Ryosuke Niwa.
2449
2450         Node::didNotifySubtreeInsertions() and Node::didNotifyDescendantInsertions() are used for similar purpose and
2451         we could unify them to the safer one, which is didNotifySubtreeInsertions().
2452
2453         This change replaces the last didNotifyDescendantInsertions() implementation in HTMLBodyElement with didNotifySubtreeInsertions()
2454         then eliminates related code which is no longer used.
2455
2456         No new tests. Covered by existing tests.
2457
2458         * dom/ContainerNodeAlgorithms.h:
2459         (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
2460         (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
2461         * dom/Node.h: Removed didNotifyDescendantInsertions() stub and InsertionShouldCallDidNotifyDescendantInsertions enum value.
2462         * html/HTMLBodyElement.cpp:
2463         (WebCore::HTMLBodyElement::insertedInto):
2464         (WebCore::HTMLBodyElement::didNotifySubtreeInsertions): morphed from didNotifyDescendantInsertions()
2465         * html/HTMLBodyElement.h:
2466         (HTMLBodyElement):
2467         * html/HTMLFormElement.cpp:
2468         (WebCore::HTMLFormElement::insertedInto): Remove useless InsertionShouldCallDidNotifyDescendantInsertions return statement.
2469
2470 2012-08-20  Rob Buis  <rbuis@rim.com>
2471
2472         Reduce GradientAttributes object size
2473         https://bugs.webkit.org/show_bug.cgi?id=86151
2474
2475         Reviewed by Eric Seidel.
2476
2477         This reduces GradientAttributes in memory size by 8 bytes on my 64-bit system. It also
2478         reduces the size of RenderSVGResourceLinearGradient and RenderSVGResourceRadialGradient.
2479
2480         * svg/GradientAttributes.h:
2481         (WebCore::GradientAttributes::spreadMethod):
2482         (WebCore::GradientAttributes::gradientUnits):
2483         (GradientAttributes):
2484         (WebCore):
2485         (SameSizeAsGradientAttributes):
2486
2487 2012-08-20  Keishi Hattori  <keishi@webkit.org>
2488
2489         Clicking input type=range with padding or border sets wrong value
2490         https://bugs.webkit.org/show_bug.cgi?id=94473
2491
2492         Reviewed by Kent Tamura.
2493
2494         We should take the padding and border width into account when calculating the value from the mouse location.
2495
2496         Test: fast/forms/range/range-hit-test-with-padding.html
2497
2498         * html/shadow/SliderThumbElement.cpp:
2499         (WebCore::sliderTrackElementOf):
2500         (WebCore):
2501         (WebCore::SliderThumbElement::setPositionFromPoint):
2502         * html/shadow/SliderThumbElement.h:
2503         (WebCore):
2504
2505 2012-08-20  MORITA Hajime  <morrita@google.com>
2506
2507         load event shouldn't fired during node insertion traversals.
2508         https://bugs.webkit.org/show_bug.cgi?id=94447
2509
2510         Reviewed by Ryosuke Niwa.
2511
2512         HTMLFrameElementBase::didNotifyDescendantInsertions() with empty @src
2513         can trigger a load event during ChildNodeInsertionNotifier
2514         traversal, whose handler can make DOM tree state inconsistent.
2515
2516         This change introduces a post traversal hook,
2517         didNotifySubtreeInsertions(), for the insertion traversal and
2518         replaces the problematic didNotifyDescendantInsertions() with it.
2519
2520         Since didNotifySubtreeInsertions() is invoked after the traversal,
2521         it is safe for event handlers to mutate the tree.
2522
2523         Test: fast/frames/iframe-onload-and-domnodeinserted.html
2524
2525         * dom/ContainerNodeAlgorithms.h:
2526         (ChildNodeInsertionNotifier): Added a post subtree notification.
2527         (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
2528         (WebCore::ChildNodeInsertionNotifier::notify):
2529         * dom/Node.h:
2530         (WebCore::Node::didNotifySubtreeInsertions): Newly added.
2531         * html/HTMLFrameElementBase.cpp:
2532         (WebCore::HTMLFrameElementBase::insertedInto): Now returns InsertionShouldCallDidNotifySubtreeInsertions
2533         (WebCore::HTMLFrameElementBase::didNotifySubtreeInsertions): Replaced didNotifyDescendantInsertions()
2534         * html/HTMLFrameElementBase.h:
2535         (HTMLFrameElementBase):
2536
2537 2012-08-20  Shinya Kawanaka  <shinyak@chromium.org> 
2538
2539         Regression(r126127): Build break on multiple platforms
2540         https://bugs.webkit.org/show_bug.cgi?id=94568
2541
2542         Reviewed by Hajime Morita.
2543
2544         Notation::cloneNode should also have ExceptionCode. We add it in this patch.
2545
2546         No new tests, no change in behavior.
2547
2548         * dom/Notation.cpp:
2549         (WebCore::Notation::cloneNode):
2550         * dom/Notation.h:
2551         (Notation):
2552
2553 2012-08-20  Shinya Kawanaka  <shinyak@chromium.org>
2554
2555         ShadowRoot.cloneNode() must always throw a DATA_CLONE_ERR exception.
2556         https://bugs.webkit.org/show_bug.cgi?id=91704
2557
2558         Reviewed by Dimitri Glazkov.
2559
2560         According to the spec, ShadowRoot.cloneNode() should throw a DATA_CLONE_ERR exception. The existing implementation
2561         returned null object instead.
2562
2563         We change the cloneNode() interface so that we can throw an exception from cloneNode().
2564
2565         Test: fast/dom/shadow/shadowroot-clonenode.html
2566
2567         * dom/Attr.cpp:
2568         (WebCore::Attr::cloneNode):
2569         * dom/Attr.h:
2570         * dom/CDATASection.cpp:
2571         (WebCore::CDATASection::cloneNode):
2572         * dom/CDATASection.h:
2573         (CDATASection):
2574         * dom/Comment.cpp:
2575         (WebCore::Comment::cloneNode):
2576         * dom/Comment.h:
2577         (Comment):
2578         * dom/Document.cpp:
2579         (WebCore::Document::cloneNode):
2580         * dom/Document.h:
2581         (Document):
2582         * dom/DocumentFragment.cpp:
2583         (WebCore::DocumentFragment::cloneNode):
2584         * dom/DocumentFragment.h:
2585         (DocumentFragment):
2586         * dom/DocumentType.cpp:
2587         (WebCore::DocumentType::cloneNode):
2588         * dom/DocumentType.h:
2589         (DocumentType):
2590         * dom/Element.cpp:
2591         (WebCore::Element::cloneNode):
2592         * dom/Element.h:
2593         (Element):
2594         * dom/EntityReference.cpp:
2595         (WebCore::EntityReference::cloneNode):
2596         * dom/EntityReference.h:
2597         (EntityReference):
2598         * dom/Node.h:
2599         (Node):
2600         (WebCore::Node::cloneNode):
2601         * dom/Node.idl:
2602         * dom/ProcessingInstruction.cpp:
2603         (WebCore::ProcessingInstruction::cloneNode):
2604         * dom/ProcessingInstruction.h:
2605         (ProcessingInstruction):
2606         * dom/ShadowRoot.cpp:
2607         (WebCore::ShadowRoot::cloneNode):
2608         * dom/ShadowRoot.h:
2609         (ShadowRoot):
2610         * dom/Text.cpp:
2611         (WebCore::Text::cloneNode):
2612         * dom/Text.h:
2613         (Text):
2614
2615 2012-08-20  Kent Tamura  <tkent@chromium.org>
2616
2617         [Chromium-win] Use native digits in parsing/formatting dates in the textfield part of input[type=date]
2618         https://bugs.webkit.org/show_bug.cgi?id=94281
2619
2620         Reviewed by Hajime Morita.
2621
2622         Tests: Add some cases to Source/WebKit/chromium/tests/LocaleWinTest.cpp
2623
2624         * platform/text/LocaleWin.cpp:
2625         (WebCore::LocaleWin::isLocalizedDigit): A helper for parseNumber(). This
2626         return true if the specified character is one of native digits.
2627         (WebCore::LocaleWin::parseNumber):
2628         Try to parse ASCII digits, then try to parse native digtis. This
2629         becomes a member of LocaleWin because it uses
2630         convertFromLocalizedNumber().
2631         (WebCore::LocaleWin::appendNumber): Apply convertToLocalizedNumber().
2632         (WebCore::LocaleWin::appendTwoDigitsNumber): ditto.
2633         (WebCore::LocaleWin::appendFourDigitsNumber): ditto.
2634         * platform/text/LocaleWin.h:
2635         (LocaleWin):
2636         - Make some static functions member functions of LocaleWin.
2637         - Add isLocalizedDigit().
2638
2639 2012-08-20  Kentaro Hara  <haraken@chromium.org>
2640
2641         Rename collectGarbageIfNecessary() to hintForCollectGarbage()
2642         https://bugs.webkit.org/show_bug.cgi?id=94455
2643
2644         Reviewed by Adam Barth.
2645
2646         This is a follow-up patch for r126098.
2647
2648         collectGarbage() always collects garbage. collectGarbageIfNecessary() just sends
2649         an idle notification to V8, which is just a hint for V8 to trigger GC.
2650         To clarify the difference, this patch renames collectGarbageIfNecessary()
2651         to hintForCollectGarbage().
2652
2653         No tests. No change in behavior.
2654
2655         * bindings/v8/ScriptController.cpp:
2656         (WebCore::ScriptController::clearForClose):
2657         (WebCore::ScriptController::clearForNavigation):
2658         * bindings/v8/V8GCController.cpp:
2659         (WebCore::V8GCController::hintForCollectGarbage):
2660         * bindings/v8/V8GCController.h:
2661         (V8GCController):
2662
2663 2012-08-20  Alexandre Elias  <aelias@google.com>
2664
2665         [chromium] Texture layer should not generate zero textureId quads
2666         https://bugs.webkit.org/show_bug.cgi?id=94550
2667
2668         Reviewed by Adrienne Walker.
2669
2670         After a context loss, CCTextureLayerImpl would clear its textureId
2671         but continued to produce external resources and quads with the zero
2672         textureid.  Add early returns so that CCTextureLayerImpl becomes
2673         inert after a context loss.
2674
2675         Added assertion in read lock so that dontUseOldResourcesAfterLostContext
2676         test catches the problem.
2677
2678         * platform/graphics/chromium/cc/CCResourceProvider.h:
2679         (WebCore::CCScopedLockResourceForRead::CCScopedLockResourceForRead):
2680         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
2681         (WebCore::CCTextureLayerImpl::willDraw):
2682         (WebCore::CCTextureLayerImpl::appendQuads):
2683         (WebCore::CCTextureLayerImpl::didDraw):
2684         (WebCore::CCTextureLayerImpl::didLoseContext):
2685
2686 2012-08-20  Kent Tamura  <tkent@chromium.org>
2687
2688         [Chromium] Make the popup positioning code testable
2689         https://bugs.webkit.org/show_bug.cgi?id=94086
2690
2691         Reviewed by Hajime Morita.
2692
2693         Introduce PopupContent interface in order to make a mock.
2694
2695         * platform/chromium/PopupContainer.cpp:
2696         (WebCore::PopupContainer::layoutAndCalculateWidgetRectInternal):
2697          - Make it a member of PopupContainer to avoid namespace pollution.
2698          - Use PopupContent interface.
2699          - Make the code clearer.
2700         * platform/chromium/PopupContainer.h:
2701         (PopupContainer): Expose layoutAndCalculateWidgetRectInternal.
2702
2703         * platform/chromium/PopupListBox.cpp:
2704         (WebCore::PopupListBox::popupContentHeight): Added.
2705         * platform/chromium/PopupListBox.h:
2706         (PopupContent): Added.
2707         (PopupListBox): Inherit PopupContent.
2708         (WebCore::PopupListBox::~PopupListBox):
2709         Make this virtual because this class has some virtual functions.
2710
2711 2012-08-20  Tom Sepez  <tsepez@chromium.org>
2712
2713         XSSAuditor too tolerant of injected data: URLs from other "hostless" schemes.
2714         https://bugs.webkit.org/show_bug.cgi?id=94547
2715
2716         Reviewed by Adam Barth.
2717
2718         Check that there is a host before making same-host tests.
2719
2720         Test: fast/frames/xss-auditor-handles-file-urls.html
2721
2722         * html/parser/XSSAuditor.cpp:
2723         (WebCore::XSSAuditor::eraseAttributeIfInjected):
2724         (WebCore::XSSAuditor::isLikelySafeResource):
2725         * html/parser/XSSAuditor.h:
2726
2727 2012-08-20  Elliott Sprehn  <esprehn@chromium.org>
2728
2729         Removed dead code from a very old iteration of CSS counters.
2730         https://bugs.webkit.org/show_bug.cgi?id=94539
2731
2732         Reviewed by Eric Seidel.
2733
2734         Remove two unused shorts that were on StyleRareNonInheritedData that are no longer used.
2735
2736         No tests, this just removes dead code.
2737
2738         * rendering/style/RenderStyle.cpp:
2739         (WebCore::RenderStyle::diff):
2740         * rendering/style/RenderStyle.h:
2741         * rendering/style/StyleRareNonInheritedData.cpp:
2742         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2743         (WebCore::StyleRareNonInheritedData::operator==):
2744         * rendering/style/StyleRareNonInheritedData.h:
2745         (StyleRareNonInheritedData):
2746
2747 2012-08-20  Luke Macpherson   <macpherson@chromium.org>
2748
2749         Fix inspector with variables enabled and enable inspector variables tests by default.
2750         https://bugs.webkit.org/show_bug.cgi?id=94296
2751
2752         Reviewed by Hajime Morita.
2753
2754         Change from using getPropertyName static function to CSSProperty::cssName(), which can resolve variables if needed.
2755
2756         Covered by inspector/styles/variables.
2757
2758         * css/PropertySetCSSStyleDeclaration.cpp:
2759         (WebCore::PropertySetCSSStyleDeclaration::item):
2760
2761 2012-08-20  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
2762
2763         Cancel the outstanding vibration pattern if the pattern is 0 or an empty list
2764         https://bugs.webkit.org/show_bug.cgi?id=94085
2765
2766         Reviewed by Kentaro Hara.
2767
2768         vibrate() method to stop the device from vibrating is getting called before the
2769         vibration is in effect. Hence, it is failing to cancel the pre-existing instance
2770         of processing vibration patterns. 
2771
2772         This patch cancel the pre-existing instance of the processing vibration patterns
2773         always when the vibrate() method called with pattern 0 or an empty list.
2774
2775         No new tests since there is no return value in the Vibration API to test this
2776         particular case. Existing test fast/dom/navigator-vibration.html covers testing of
2777         the Vibration API.
2778
2779         * Modules/vibration/Vibration.cpp:
2780         (WebCore::Vibration::vibrate):
2781
2782 2012-08-20  Adam Klein  <adamk@chromium.org>
2783
2784         Allow MutationEvents to be enabled/disabled per context
2785         https://bugs.webkit.org/show_bug.cgi?id=94016
2786
2787         Reviewed by Ojan Vafai.
2788
2789         Chromium wants to be able to turn MutationEvents off for some
2790         Documents (e.g., for Apps V2). This patch makes the firing (and the
2791         constructor on DOMWindow) of MutationEvents a per-context feature, with
2792         the default being enabled.
2793
2794         No functional change (since the feature defaults to enabled).
2795         It's not clear to me that there's a way to test this in DRT without
2796         adding a special hook for this one feature. It will be tested in
2797         Chromium once it's implemented in Chromium.
2798
2799         * dom/ContextFeatures.cpp:
2800         (WebCore::ContextFeatures::mutationEventsEnabled): Add new method,
2801         with the default being enabled.
2802         * dom/ContextFeatures.h:
2803         * dom/Document.cpp:
2804         (WebCore::Document::addMutationEventListenerTypeIfEnabled): Add new
2805         method that checks the ContextFeature flag before adding the passed-in
2806         listener type.
2807         (WebCore::Document::addListenerTypeIfNeeded): Call the new method
2808         instead of addListenerType for MutationEvent types.
2809         * dom/Document.h:
2810         (WebCore::Document::addListenerType): Make private to avoid anyone
2811         outside Document from enabling MutationEvent listeners. All callers
2812         must go through addListenerTypeIfNeeded.
2813
2814 2012-08-20  Levi Weintraub  <leviw@chromium.org>
2815
2816         [Sub-pixel Layout] Block selection gap repainting can leave one pixel gaps
2817         https://bugs.webkit.org/show_bug.cgi?id=94526
2818
2819         Reviewed by Eric Seidel.
2820
2821         Reverting RenderLayer's m_blockSelectionGapsBounds to be an IntRect and applying enclosingIntRect to the
2822         gapRects added to the bounds. Previously, we'd end multiple block gaps and pixel snap the result, which
2823         can yield results one pixel off in width and height.
2824
2825         Covered by existing tests. This undoes some of the rebaselining from when sub-pixel was enabled for Chromium.
2826
2827         * rendering/RenderLayer.cpp:
2828         * rendering/RenderLayer.h:
2829
2830 2012-08-20  Kentaro Hara  <haraken@chromium.org>
2831
2832         [V8] Move instrumentedCallFunction() from V8Proxy to ScriptController
2833         https://bugs.webkit.org/show_bug.cgi?id=94456
2834
2835         Reviewed by Adam Barth.
2836
2837         To kill V8Proxy, this patch moves instrumentedCallFunction() from V8Proxy
2838         to ScriptController. Also this patch renames instrumentedCallFunction()
2839         to callFunctionWithInstrumentation(), for consistency with callFunction().
2840
2841         No tests. No change in behavior.
2842
2843         * bindings/v8/ScriptController.cpp:
2844         (WebCore::ScriptController::callFunction):
2845         (WebCore):
2846         (WebCore::handleMaxRecursionDepthExceeded):
2847         (WebCore::resourceInfo):
2848         (WebCore::resourceString):
2849         (WebCore::ScriptController::callFunctionWithInstrumentation):
2850         * bindings/v8/ScriptController.h:
2851         (ScriptController):
2852         * bindings/v8/ScriptFunctionCall.cpp:
2853         (WebCore::ScriptCallback::call):
2854         * bindings/v8/V8Callback.cpp:
2855         (WebCore::invokeCallback):
2856         * bindings/v8/V8NodeFilterCondition.cpp:
2857         (WebCore::V8NodeFilterCondition::acceptNode):
2858         * bindings/v8/V8Proxy.cpp:
2859         (WebCore):
2860         * bindings/v8/V8Proxy.h:
2861         (V8Proxy):
2862         * bindings/v8/V8WindowErrorHandler.cpp:
2863         (WebCore::V8WindowErrorHandler::callListenerFunction):
2864         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
2865         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
2866
2867 2012-08-20  Elliott Sprehn  <esprehn@chromium.org>
2868
2869         Never notify of insertedIntoTree during document destruction.
2870         https://bugs.webkit.org/show_bug.cgi?id=94535
2871
2872         Reviewed by Eric Seidel.
2873
2874         Never notify of insertedIntoTree during document destruction. Previously since we
2875         avoid notifying of willBeRemovedFromTree it's possible we could have gotten several
2876         insertedIntoTree notifications without ever being told we were removed.
2877
2878         No tests needed since this just closes holes related to future code.
2879
2880         * rendering/RenderObjectChildList.cpp:
2881         (WebCore::RenderObjectChildList::appendChildNode): Never call insertedIntoTree during document destruction.
2882         (WebCore::RenderObjectChildList::insertChildNode): Same.
2883         * rendering/RenderRegion.cpp:
2884         (WebCore::RenderRegion::attachRegion): Removed unneeded document destruction check.
2885
2886 2012-08-20  James Robinson  <jamesr@chromium.org>
2887
2888         [chromium] Initialize GraphicsLayerChromium::m_contentsLayerId when setting contents layer
2889         https://bugs.webkit.org/show_bug.cgi?id=94552
2890
2891         Reviewed by Kenneth Russell.
2892
2893         Set it or it don't work good.
2894
2895         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2896         (WebCore::GraphicsLayerChromium::setupContentsLayer):
2897
2898 2012-08-20  Rik Cabanier  <cabanier@adobe.com>
2899
2900         parse CSS attribute -webkit-blend-mode
2901         https://bugs.webkit.org/show_bug.cgi?id=94024
2902  
2903         Reviewed by Dirk Schulze.
2904
2905         Added parsing and general CSS handling of -webkit-blend-mode per http://www.w3.org/TR/2012/WD-compositing-20120816/
2906
2907         Tests: css3/compositing/blend-mode-property-parsing-invalid.html
2908                css3/compositing/blend-mode-property-parsing.html
2909                css3/compositing/blend-mode-property.html
2910
2911         * css/CSSComputedStyleDeclaration.cpp:
2912         (WebCore):
2913         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2914         * css/CSSParser.cpp:
2915         (WebCore::isValidKeywordPropertyAndValue):
2916         (WebCore::isKeywordPropertyID):
2917         (WebCore::CSSParser::parseValue):
2918         * css/CSSProperty.cpp:
2919         (WebCore::CSSProperty::isInheritedProperty):
2920         * css/CSSPropertyNames.in:
2921         * css/CSSValueKeywords.in:
2922         * css/StyleBuilder.cpp:
2923         (WebCore::StyleBuilder::StyleBuilder):
2924         * rendering/RenderLayer.h:
2925         (RenderLayer):
2926         * rendering/RenderLayerBacking.cpp:
2927         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
2928         (WebCore):
2929         (WebCore::RenderLayerBacking::updateLayerBlendMode):
2930         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2931         (WebCore::RenderLayerBacking::setBlendMode):
2932         * rendering/RenderLayerBacking.h:
2933         (RenderLayerBacking):
2934         * rendering/style/RenderStyle.cpp:
2935         (WebCore::RenderStyle::diff):
2936         * rendering/style/RenderStyle.h:
2937         * rendering/style/StyleRareNonInheritedData.cpp:
2938         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2939         (WebCore::StyleRareNonInheritedData::operator==):
2940         * rendering/style/StyleRareNonInheritedData.h:
2941         (StyleRareNonInheritedData):
2942
2943 2012-08-20  Kentaro Hara  <haraken@chromium.org>
2944
2945         [V8] Move retrieve{Window,Frame,PerContextData}() from V8Proxy to V8Binding
2946         https://bugs.webkit.org/show_bug.cgi?id=94460
2947
2948         Reviewed by Adam Barth.
2949
2950         To kill V8Proxy, we move retrieve{Window,Frame,PerContextData}()
2951         from V8Proxy to V8Binding. Also, this patch renames these methods as follows:
2952
2953         - retrieveWindow() -> toDOMWindow()
2954         - retrieveFrame() -> toFrameIfNotDetached()
2955         - retrievePerContextData() -> perContextDataForCurrentWorld()
2956
2957         No tests. No change in behavior.
2958
2959         * bindings/v8/BindingState.cpp:
2960         (WebCore::activeDOMWindow):
2961         (WebCore::firstDOMWindow):
2962         (WebCore::activeFrame):
2963         (WebCore::firstFrame):
2964         (WebCore::currentFrame):
2965         (WebCore::currentDocument):
2966         * bindings/v8/PageScriptDebugServer.cpp:
2967         (WebCore::retrieveFrameWithGlobalObjectCheck):
2968         (WebCore::PageScriptDebugServer::getDebugListenerForContext):
2969         (WebCore::PageScriptDebugServer::runMessageLoopOnPause):
2970         * bindings/v8/V8Binding.cpp:
2971         (WebCore::retrieveWindow):
2972         (WebCore):
2973         (WebCore::retrieveFrame):
2974         (WebCore::retrievePerContextData):
2975         * bindings/v8/V8Binding.h:
2976         (WebCore):
2977         * bindings/v8/V8DOMWrapper.cpp:
2978         (WebCore::V8DOMWrapper::constructorForType):
2979         * bindings/v8/V8NPUtils.cpp:
2980         (WebCore::convertV8ObjectToNPVariant):
2981         * bindings/v8/V8Proxy.cpp:
2982         (WebCore::V8Proxy::handleOutOfMemory):
2983         (WebCore::V8Proxy::context):
2984         (WebCore::V8Proxy::matchesCurrentContext):
2985         * bindings/v8/V8Proxy.h:
2986         (V8Proxy):
2987
2988 2012-08-20  Abhishek Arya  <inferno@chromium.org>
2989
2990         Yank an unneccessary if added in r125810.
2991         https://bugs.webkit.org/show_bug.cgi?id=85804
2992
2993         Reviewed by Levi Weintraub.
2994
2995         * rendering/RenderBlockLineLayout.cpp:
2996         (WebCore::RenderBlock::layoutInlineChildren):
2997
2998 2012-08-20  James Robinson  <jamesr@chromium.org>
2999
3000         [chromium] REGRESSION(126076) Should not touch old GraphicsLayerChromium::m_contentsLayer when setting up a new contents layer
3001         https://bugs.webkit.org/show_bug.cgi?id=94544
3002
3003         Reviewed by Adrienne Walker.
3004
3005         GraphicsLayerChromium only keeps a weak pointer to its m_contentsLayer. When replacing it with a new contents
3006         layer, it may be unsafe to touch the old value. It's also completely unnecessary.
3007
3008         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3009         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
3010         (WebCore::GraphicsLayerChromium::setContentsToImage):
3011         (WebCore::GraphicsLayerChromium::setContentsTo):
3012         (WebCore::GraphicsLayerChromium::setupContentsLayer):
3013         * platform/graphics/chromium/GraphicsLayerChromium.h:
3014
3015 2012-08-20  Kentaro Hara  <haraken@chromium.org>
3016
3017         [V8] Move collectGarbage() from ScriptController to V8GCController
3018         https://bugs.webkit.org/show_bug.cgi?id=94455
3019
3020         Reviewed by Adam Barth.
3021
3022         - This patch moves collectGarbage() from ScriptController to V8GCController.
3023         - This patch makes collectGarbage() a static method.
3024         - This patch removes ScriptController::lowMemoryNotification()
3025         since it is not used at all.
3026
3027         No tests. No change in behavior.
3028
3029         * bindings/v8/ScriptController.cpp:
3030         * bindings/v8/ScriptController.h:
3031         * bindings/v8/V8GCController.cpp:
3032         (WebCore::V8GCController::collectGarbage):
3033         (WebCore):
3034         * bindings/v8/V8GCController.h:
3035         (V8GCController):
3036
3037 2012-08-20  Kentaro Hara  <haraken@chromium.org>
3038
3039         [V8] Remove V8Proxy from V8IsolatedContext
3040         https://bugs.webkit.org/show_bug.cgi?id=94450
3041
3042         Reviewed by Adam Barth.
3043
3044         This patch removes dependency on V8Proxy from V8IsolatedContext.
3045
3046         No tests. No change in behavior.
3047
3048         * bindings/v8/ScriptController.cpp:
3049         (WebCore::ScriptController::evaluateInIsolatedWorld):
3050         * bindings/v8/V8IsolatedContext.cpp:
3051         (WebCore::V8IsolatedContext::V8IsolatedContext):
3052         * bindings/v8/V8IsolatedContext.h:
3053         (WebCore):
3054         (V8IsolatedContext):
3055
3056 2012-08-20  Philip Rogers  <pdr@google.com>
3057
3058         Canvas drawImage() should draw SVG at the correct scale.
3059         https://bugs.webkit.org/show_bug.cgi?id=94377
3060
3061         Previously, drawing SVG in canvas would render at the incorrect scale
3062         because imageSizeForRenderer did not take into account the page scale.
3063         After this patch, we now incorporate the page scale in
3064         CachedImage::imageSizeForRenderer().
3065
3066         Reviewed by Tim Horton.
3067
3068         Test: svg/as-image/svg-as-image-canvas.html
3069
3070         * loader/cache/CachedImage.cpp:
3071         (WebCore::CachedImage::imageSizeForRenderer):
3072
3073 2012-08-20  Simon Fraser  <simon.fraser@apple.com>
3074
3075         Assertion going back to results.html page from an image diff result
3076         https://bugs.webkit.org/show_bug.cgi?id=94143
3077
3078         Reviewed by Adam Barth.
3079
3080         Avoid redundantly setting the DOMWindow on a JSDOMWindow shell in
3081         ScriptCachedFrameData::restore(), as we may have already done this
3082         in ScriptController::clearWindowShell(). This avoids an assertion
3083         on some platforms when going Back to the test results page from
3084         a diff image.
3085
3086         * bindings/js/ScriptCachedFrameData.cpp:
3087         (WebCore::ScriptCachedFrameData::restore):
3088
3089 2012-08-20  Dean Jackson  <dino@apple.com>
3090
3091         [WebGL] OES_vertex_array_object is not correctly un/binding or deleting
3092         https://bugs.webkit.org/show_bug.cgi?id=94029
3093
3094         Reviewed by Ken Russell.
3095
3096         When the currently bound vertex array is deleted, the specification says that
3097         the default object should be bound in its place. Also, binding a null object
3098         as a vertex array was not actually clearing the bound object at the GL layer.
3099         And lastly, it should not be possible to bind a deleted vertex array.
3100
3101         The test case for this is the public Khronos WebGL conformance suite, in particular:
3102         conformance/extensions/oes-vertex-array-object.html
3103
3104         * html/canvas/OESVertexArrayObject.cpp:
3105         (WebCore::OESVertexArrayObject::deleteVertexArrayOES): Check if the deleted array is
3106         currently bound, and if so, unbind it.
3107         (WebCore::OESVertexArrayObject::bindVertexArrayOES): Make sure never to bind an
3108         array that has been marked as deleted.
3109         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
3110         (WebCore::Extensions3DOpenGL::bindVertexArrayOES): Remove the null check on bind. We
3111         do need to call glBindVertexArrayAPPLE with a null value in order to clear it.
3112
3113 2012-08-20  Kentaro Hara  <haraken@chromium.org>
3114
3115         [V8] Move clearForClose() and clearForNavigation() from V8Proxy to ScriptController
3116         https://bugs.webkit.org/show_bug.cgi?id=94459
3117
3118         Reviewed by Adam Barth.
3119
3120         To kill V8Proxy, we can move clearForClose() and
3121         clearForNavigation() from V8Proxy to ScriptController.
3122
3123         No tests. No change in behavior.
3124
3125         * bindings/v8/ScriptController.cpp:
3126         (WebCore::ScriptController::~ScriptController):
3127         (WebCore::ScriptController::resetIsolatedWorlds):
3128         (WebCore):
3129         (WebCore::ScriptController::clearForClose):
3130         (WebCore::ScriptController::clearForNavigation):
3131         (WebCore::ScriptController::clearWindowShell):
3132         * bindings/v8/ScriptController.h:
3133         (ScriptController):
3134         * bindings/v8/V8Proxy.cpp:
3135         (WebCore::V8Proxy::~V8Proxy):
3136         (WebCore::V8Proxy::handleOutOfMemory):
3137         * bindings/v8/V8Proxy.h:
3138         (V8Proxy):
3139
3140 2012-08-20  Dirk Schulze  <krit@webkit.org>
3141
3142         CSS Masking and CSS Filters applied in wrong order
3143         https://bugs.webkit.org/show_bug.cgi?id=94354
3144
3145         Reviewed by Dean Jackson.
3146
3147         According to the Filter Effects spec, the order should be first filters, then masking and clipping.
3148         Changed the order on applying the different effects in RenderLayer.
3149
3150         Test: css3/filters/filter-mask-clip-order.html
3151
3152         * rendering/RenderLayer.cpp:
3153         (WebCore::RenderLayer::paintLayerContents): First filter, then mask and clip the content.
3154
3155 2012-08-20  Kentaro Hara  <haraken@chromium.org>
3156
3157         [V8] Move mainWorldContext() from V8Proxy to ScriptController
3158         https://bugs.webkit.org/show_bug.cgi?id=94453
3159
3160         Reviewed by Adam Barth.
3161
3162         This patch moves mainWorldContext() from V8Proxy to ScriptController.
3163         In addition, this patch removes dependency on V8Proxy from WorldContextHandle.
3164
3165         No tests. No change in behavior.
3166
3167         * bindings/v8/DOMTransaction.cpp:
3168         (WebCore::DOMTransaction::callFunction):
3169         * bindings/v8/NPV8Object.cpp:
3170         (WebCore::toV8Context):
3171         * bindings/v8/ScriptController.cpp:
3172         (WebCore::ScriptController::evaluate):
3173         (WebCore::ScriptController::mainWorldContext):
3174         (WebCore):
3175         (WebCore::ScriptController::bindToWindowObject):
3176         (WebCore::createScriptObject):
3177         (WebCore::ScriptController::createScriptObjectForPluginElement):
3178         * bindings/v8/ScriptController.h:
3179         (ScriptController):
3180         * bindings/v8/ScriptState.cpp:
3181         (WebCore::mainWorldScriptState):
3182         * bindings/v8/V8LazyEventListener.cpp:
3183         (WebCore::V8LazyEventListener::prepareListenerObject):
3184         * bindings/v8/V8Proxy.cpp:
3185         (WebCore::V8Proxy::context):
3186         (WebCore::toV8Context):
3187         * bindings/v8/V8Proxy.h:
3188         (V8Proxy):
3189         * bindings/v8/WorldContextHandle.cpp:
3190         (WebCore::WorldContextHandle::adjustedContext):
3191         * bindings/v8/WorldContextHandle.h:
3192         (WebCore):
3193         (WorldContextHandle):
3194
3195 2012-08-20  Adam Klein  <adamk@chromium.org>
3196
3197         Remove redundant TOUCH_LISTENER event type
3198         https://bugs.webkit.org/show_bug.cgi?id=94524
3199
3200         Reviewed by Ryosuke Niwa.
3201
3202         Code that needs to determine whether there are touch listeners
3203         can instead call Document::touchEventHandlerCount(), added in r107832.
3204         TOUCH_LISTENER didn't fit very well into the hasListenerType() model
3205         anyway, as there's not a 1:1 correspondance between the enum value and
3206         an event.
3207
3208         * dom/Document.cpp:
3209         (WebCore::Document::addListenerTypeIfNeeded): Remove two bits of code:
3210         the bookkeeping for TOUCH_LISTENER, and the notification into
3211         ChromeClient (which is handled by calls to didAddTouchEventHandler in
3212         all the places that call addListenerTypeIfNeeded).
3213         (WebCore::Document::didRemoveTouchEventHandler): Remove bookkeeping for TOUCH_LISTENER.
3214         * dom/Document.h:
3215         * history/CachedFrame.cpp:
3216         (WebCore::CachedFrameBase::restore): Call touchEventHandlerCount instead of hasListenerType.
3217         * html/HTMLInputElement.cpp:
3218         (WebCore::HTMLInputElement::updateType): ditto
3219         * page/EventHandler.cpp:
3220         (WebCore::EventHandler::handleTouchEvent): ditto
3221         * page/Frame.cpp:
3222         (WebCore::Frame::setDocument): ditto
3223         * testing/Internals.cpp: Remove hasTouchEventListener method since its
3224         data source no longer exists.
3225         * testing/Internals.h: ditto
3226         (Internals):
3227         * testing/Internals.idl: ditto
3228
3229 2012-08-16  James Robinson  <jamesr@chromium.org>
3230
3231         [chromium] Change WebLayer from a concrete type to a pure virtual interface
3232         https://bugs.webkit.org/show_bug.cgi?id=94174
3233
3234         Reviewed by Adrienne Walker.
3235
3236         This updates WebCore code for the WebLayer interface changes. Classes that have ownership of specific layer
3237         types (such as DrawingBufferChromium, Canvas2DLayerBridge and ScrollingCoordinatorChromium) hold ownership
3238         of a specific type and a pointer to the WebLayer to GraphicsLayerChromium to be included in the final layer
3239         tree. GraphicsLayerChromium holds a WebContentLayer and (optionally) a WebImageLayer and WebLayer (for
3240         m_transformLayer) and assembles the final layer tree.
3241
3242         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
3243         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
3244         (ScrollingCoordinatorPrivate):
3245         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
3246         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
3247         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
3248         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
3249         (WebCore::scrollableLayerForGraphicsLayer):
3250         (WebCore):
3251         (WebCore::createScrollbarLayer):
3252         (WebCore::ScrollingCoordinator::setScrollLayer):
3253         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
3254         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
3255         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
3256         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
3257         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
3258         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
3259         (WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
3260         (WebCore::AcceleratedDeviceContext::clearLayer):
3261         (AcceleratedDeviceContext):
3262         (WebCore::AcceleratedDeviceContext::prepareForDraw):
3263         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
3264         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
3265         (WebCore::Canvas2DLayerBridge::skCanvas):
3266         (WebCore::Canvas2DLayerBridge::layer):
3267         (WebCore::Canvas2DLayerBridge::contextAcquired):
3268         * platform/graphics/chromium/Canvas2DLayerBridge.h:
3269         (WebCore):
3270         (Canvas2DLayerBridge):
3271         * platform/graphics/chromium/DrawingBufferChromium.cpp:
3272         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
3273         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
3274         (WebCore::DrawingBufferPrivate::layer):
3275         (DrawingBufferPrivate):
3276         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3277         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
3278         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
3279         (WebCore::GraphicsLayerChromium::updateNames):
3280         (WebCore::GraphicsLayerChromium::removeFromParent):
3281         (WebCore::GraphicsLayerChromium::setSize):
3282         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
3283         (WebCore::GraphicsLayerChromium::setContentsOpaque):
3284         (WebCore::GraphicsLayerChromium::setFilters):
3285         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
3286         (WebCore::GraphicsLayerChromium::setMaskLayer):
3287         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
3288         (WebCore::GraphicsLayerChromium::setOpacity):
3289         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
3290         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
3291         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
3292         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
3293         (WebCore::GraphicsLayerChromium::setContentsToImage):
3294         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
3295         (WebCore):
3296         (WebCore::GraphicsLayerChromium::setContentsToMedia):
3297         (WebCore::GraphicsLayerChromium::setContentsTo):
3298         (WebCore::GraphicsLayerChromium::addAnimation):
3299         (WebCore::GraphicsLayerChromium::pauseAnimation):
3300         (WebCore::GraphicsLayerChromium::removeAnimation):
3301         (WebCore::GraphicsLayerChromium::suspendAnimations):
3302         (WebCore::GraphicsLayerChromium::resumeAnimations):
3303         (WebCore::GraphicsLayerChromium::addLinkHighlight):
3304         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
3305         (WebCore::GraphicsLayerChromium::platformLayer):
3306         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
3307         (WebCore::GraphicsLayerChromium::setDebugBorder):
3308         (WebCore::GraphicsLayerChromium::updateChildList):
3309         (WebCore::GraphicsLayerChromium::updateLayerPosition):
3310         (WebCore::GraphicsLayerChromium::updateLayerSize):
3311         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
3312         (WebCore::GraphicsLayerChromium::updateTransform):
3313         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
3314         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
3315         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
3316         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
3317         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
3318         (WebCore::GraphicsLayerChromium::updateContentsRect):
3319         (WebCore::GraphicsLayerChromium::updateContentsScale):
3320         (WebCore::GraphicsLayerChromium::setupContentsLayer):
3321         * platform/graphics/chromium/GraphicsLayerChromium.h:
3322         (WebCore::GraphicsLayerChromium::hasContentsLayer):
3323         (WebCore::GraphicsLayerChromium::contentLayer):
3324         (GraphicsLayerChromium):
3325         (WebCore::GraphicsLayerChromium::contentsLayer):
3326         * platform/graphics/chromium/LayerChromium.cpp:
3327         (WebCore::LayerChromium::rootLayer):
3328         * platform/graphics/chromium/LayerChromium.h:
3329
3330 2012-08-20  Leandro Gracia Gil  <leandrogracia@chromium.org>
3331
3332         Move transformFriendlyBoundingBox out of Range
3333         https://bugs.webkit.org/show_bug.cgi?id=94366
3334
3335         Reviewed by Simon Fraser and Ryosuke Niwa.
3336
3337         Bug 93111 introduced a new method in Range called transformFriendlyBoundingBox.
3338         However, this method should not have been added there in order to reduce the
3339         dependencies between Range and the rendering code. This patch moves it to a
3340         static method in RenderObject.
3341
3342         Tests: existing tests, no new feature added by this patch.
3343
3344         * dom/Range.cpp:
3345         * dom/Range.h:
3346         * rendering/RenderObject.cpp:
3347         (WebCore::RenderObject::absoluteBoundingBoxRectForRange):
3348         (WebCore):
3349         * rendering/RenderObject.h:
3350         (RenderObject):
3351
3352 2012-08-20  Ryosuke Niwa  <rniwa@webkit.org>
3353
3354         Replace isolate || bidi-override by isolate-override
3355         https://bugs.webkit.org/show_bug.cgi?id=89746
3356
3357         Reviewed by Levi Weintraub.
3358
3359         The combination of bidi-isolate and isolate was replaced by a single isolate-override in
3360         http://lists.w3.org/Archives/Public/www-style/2012May/0541.html. The spec. has been updated accordingly:
3361         http://dev.w3.org/csswg/css3-writing-modes/#unicode-bidi
3362
3363         To follow the specification change, added -webkit-isolate-override and removed the support for
3364         isolate || bidi-override, simplifying the CSS parser and serializer.
3365
3366         Test: fast/text/bidi-override-isolate.html
3367
3368         * css/CSSComputedStyleDeclaration.cpp:
3369         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Removed. We can just new a CSSPrimitiveValue
3370         constructor now.
3371         * css/CSSParser.cpp:
3372         (WebCore::CSSParser::parseValue):
3373         * css/CSSPrimitiveValueMappings.h:
3374         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added now that unicode-bidi always creates a signle
3375         primitive value instead of a primitive value of css value list.
3376         (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
3377         * css/CSSValueKeywords.in: Added -webkit-isolate-override
3378         * css/StyleBuilder.cpp:
3379         (WebCore): Removed ApplyPropertyUnicodeBidi since we can use ApplyPropertyDefault now.
3380         (WebCore::StyleBuilder::StyleBuilder): Use ApplyPropertyDefault.
3381         * platform/text/UnicodeBidi.h: Renamed OverrideIsolate to IsolateOverride to match the spec.
3382         (WebCore::isIsolated):
3383         (WebCore::isOverride):
3384         * rendering/RenderBlockLineLayout.cpp:
3385         (WebCore::constructBidiRuns):
3386
3387 2012-08-20  Tony Chang  <tony@chromium.org>
3388
3389         RenderGrid children should always be RenderBoxes
3390         https://bugs.webkit.org/show_bug.cgi?id=94305
3391
3392         Reviewed by Abhishek Arya.
3393
3394         During RenderGrid::layout, we assume all the children are RenderBoxes.
3395         When removing children, if the last child is an anonymous block, we don't
3396         want to remove the anonymous block for grids. Ensure this doesn't happen
3397         by adding canCollapseAnonymousBlockChild to RenderBlock (flexboxen and
3398         grid can override this method).
3399
3400         Test: fast/css-grid-layout/should-not-collapse-anonymous-blocks.html
3401
3402         * rendering/RenderBlock.cpp:
3403         (WebCore::RenderBlock::removeChild): Check canCollapseAnonymousBlockChild().
3404         * rendering/RenderBlock.h:
3405         (WebCore::RenderBlock::canCollapseAnonymousBlockChild):
3406         (RenderBlock):
3407         * rendering/RenderDeprecatedFlexibleBox.h: canCollapseAnonymousBlockChild returns false.
3408         * rendering/RenderFlexibleBox.h: canCollapseAnonymousBlockChild returns false.
3409         * rendering/RenderGrid.h: canCollapseAnonymousBlockChild returns false.
3410
3411 2012-08-20  Kenneth Russell  <kbr@google.com>
3412
3413         Unreviewed, rolling out r126026.
3414         http://trac.webkit.org/changeset/126026
3415         https://bugs.webkit.org/show_bug.cgi?id=94449
3416
3417         Caused assertion failure in layout test touchadjustment/context-menu.html
3418
3419         * page/TouchAdjustment.cpp:
3420         (TouchAdjustment):
3421         (WebCore::TouchAdjustment::providesContextMenuItems):
3422         (WebCore::TouchAdjustment::appendSubtargetsForNodeToList):
3423         (WebCore::TouchAdjustment::compileSubtargetList):
3424         (WebCore::findBestClickableCandidate):
3425         (WebCore::findBestContextMenuCandidate):
3426
3427 2012-08-20  Andrew Lo  <anlo@rim.com>
3428
3429         [BlackBerry] Enabling DEBUG_LAYER_ANIMATION results in build break & warnings
3430         https://bugs.webkit.org/show_bug.cgi?id=94514
3431
3432         Reviewed by Rob Buis.
3433
3434         Add wtf::CString definition to fix build break when enabling DEBUG_LAYER_ANIMATION
3435         debug prints. Fix build warnings from prints.
3436
3437         No new tests, non-functional change.
3438
3439         * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
3440         (WebCore::GraphicsLayerBlackBerry::addAnimation):
3441         (WebCore::GraphicsLayerBlackBerry::pauseAnimation):
3442
3443 2012-08-20  Christophe Dumez  <christophe.dumez@intel.com>
3444
3445         [JSC] SerializedScriptValue::create() should throw a DataCloneError if input is an unsupported object
3446         https://bugs.webkit.org/show_bug.cgi?id=94493
3447
3448         Reviewed by Oliver Hunt.
3449
3450         Update JSC implementation for SerializedScriptValue::create() so that
3451         a DataCloneError is thrown when the input value is an unsupported
3452         object. The previous implementation was not throwing any error.
3453
3454         This change is according to the structured clone specification at:
3455         http://www.w3.org/TR/html5/common-dom-interfaces.html#structured-clone
3456
3457         This also matches the corresponding V8 implementation.
3458
3459         Test: fast/events/message-port-multi.html.
3460
3461         * bindings/js/SerializedScriptValue.cpp:
3462         (WebCore::CloneSerializer::dumpIfTerminal):
3463         (WebCore::CloneSerializer::serialize):
3464         (WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
3465         * bindings/js/SerializedScript