Web Inspector: Use default parameter on reportResult in InspectorFileSystemAgent
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-08-15  Taiju Tsuiki  <tzik@chromium.org>
2
3         Web Inspector: Use default parameter on reportResult in InspectorFileSystemAgent
4         https://bugs.webkit.org/show_bug.cgi?id=93930
5
6         Reviewed by Vsevolod Vlasov.
7
8         No functional change.
9
10         * inspector/InspectorFileSystemAgent.cpp:
11         (WebCore):
12
13 2012-08-15  Vsevolod Vlasov  <vsevik@chromium.org>
14
15         Web Inspector: TabbedEditorContainer Doens't show '*' near modified file name sometimes.
16         https://bugs.webkit.org/show_bug.cgi?id=94095
17
18         Reviewed by Pavel Feldman.
19
20         TabbedEditorContainer now correctly updates event listeners on UISourceCodeReplaced event.
21
22         * inspector/front-end/TabbedEditorContainer.js:
23         (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
24         (WebInspector.TabbedEditorContainer.prototype._tabClosed):
25         (WebInspector.TabbedEditorContainer.prototype._addUISourceCodeListeners):
26         (WebInspector.TabbedEditorContainer.prototype._removeUISourceCodeListeners):
27
28 2012-08-15  Vsevolod Vlasov  <vsevik@chromium.org>
29
30         Web Inspector: Scroll/selection are not saved in sources panel editors sometimes.
31         https://bugs.webkit.org/show_bug.cgi?id=94098
32
33         Reviewed by Pavel Feldman.
34
35         SourceFrame listeners and _currentFile field are now cleared only when currently open tab is closed.
36
37         * inspector/front-end/TabbedEditorContainer.js:
38         (WebInspector.TabbedEditorContainer.prototype._tabClosed):
39
40 2012-08-15  Vsevolod Vlasov  <vsevik@chromium.org>
41
42         Web Inspector: [REGRESSION] "save as" of edited source in developer mode fails to update saved file
43         https://bugs.webkit.org/show_bug.cgi?id=94074
44
45         Reviewed by Pavel Feldman.
46
47         Added dirty flag check when saving uiSourceCode to save working copy in this case.
48
49         * inspector/front-end/HandlerRegistry.js:
50         (WebInspector.HandlerRegistry.prototype.appendApplicableItems.save):
51         (WebInspector.HandlerRegistry.prototype.appendApplicableItems):
52
53 2012-08-15  Thiago Marcos P. Santos  <thiago.santos@intel.com>
54
55         Relative units are not set when the canvas has not parent
56         https://bugs.webkit.org/show_bug.cgi?id=93840
57
58         Reviewed by Kenneth Rohde Christiansen.
59
60         Set the default font when no parent style is set. It will make
61         possible to apply relative units when a parent is not set.
62
63         No new tests, unskipped the existing ones.
64
65         * css/StyleBuilder.cpp:
66         (WebCore::ApplyPropertyFontSize::applyValue):
67         Make it possible to apply relative units if a parent style exist but
68         not a parent node. It works like this for em and ex, but not for
69         percent units.
70         * html/canvas/CanvasRenderingContext2D.cpp:
71         (WebCore):
72         (WebCore::CanvasRenderingContext2D::setFont):
73
74 2012-08-14  Pavel Feldman  <pfeldman@chromium.org>
75
76         Web Inspector: split standalone test runner, test scanner and test stub.
77         https://bugs.webkit.org/show_bug.cgi?id=94001
78
79         Reviewed by Vsevolod Vlasov.
80
81         This change starts sending loacCompleted message to the embedder.
82
83         * inspector/front-end/InspectorFrontendAPI.js:
84         (InspectorFrontendAPI.loadCompleted):
85         * inspector/front-end/test-runner.html: Added.
86
87 2012-08-15  Shinya Kawanaka  <shinyak@chromium.org>
88
89         [Refactoring] The debug version and release version of toHTMLSelectElement can be merged without any penalty
90         https://bugs.webkit.org/show_bug.cgi?id=94084
91
92         Reviewed by Kent Tamura.
93
94         We have two versions of toHTMLSelectElement. One has ASSERT() and the other one does not have ASSERT().
95         We can merge them without any penalty.
96
97         No new tests, no change in behavior.
98
99         * html/HTMLSelectElement.cpp:
100         * html/HTMLSelectElement.h:
101         (WebCore::isHTMLSelectElement):
102         (WebCore::toHTMLSelectElement):
103         (WebCore):
104
105 2012-08-15  Shinya Kawanaka  <shinyak@chromium.org>
106
107         AuthorShadowDOM for meter element
108         https://bugs.webkit.org/show_bug.cgi?id=91970
109
110         Reviewed by Hajime Morita.
111
112         We add support for AuthorShadowDOM for a meter element.
113
114         According to the Shadow DOM spec, a meter element should behave like having a UserAgentShadowRoot and
115         an element in UserAgentShadowRoot draws a real 'meter' bar. In this patch, we change the inner structure
116         of a meter element so that we can distribute an element having RenderMeter to AuthorShadowDOM.
117
118         Before this patch, a meter element has the following inner structure.
119
120             <meter>--UserAgentShadowRoot -- -- -- -- -- -- -- -- -- -- AuthorShadowRoot
121                                |
122                                +-- MeterBarElement
123                                |
124                                +-- MeterValueElement
125
126         After this patch, a meter element will have the following inner structure.
127
128             <meter>--UserAgentShadowRoot -- -- -- -- -- -- -- -- -- -- AuthorShadowRoot
129                                |
130                                +-- MeterInnerElement
131                                            |
132                                            +-- MeterBarElement
133                                            |
134                                            +-- MeterValueElement
135
136         However, if RenderTheme supports rendering meter, MeterInnerElement will not create a renderer
137         unless an AuthorShadowDOM is attached to it so that we can keep the current rendering style.
138
139         Tests: fast/dom/shadow/shadowdom-for-meter-dynamic.html
140                fast/dom/shadow/shadowdom-for-meter-multiple.html
141                fast/dom/shadow/shadowdom-for-meter-with-style.html
142                fast/dom/shadow/shadowdom-for-meter-without-appearance.html
143                fast/dom/shadow/shadowdom-for-meter-without-shadow-element.html
144                fast/dom/shadow/shadowdom-for-meter.html
145
146         * css/html.css:
147         (meter): Changed the display type. inline-box is not supported WebKit. inline-block is true.
148         (meter::-webkit-meter-inner-element):
149         * html/HTMLMeterElement.cpp:
150         (WebCore::HTMLMeterElement::HTMLMeterElement):
151         (WebCore::HTMLMeterElement::createRenderer):
152         (WebCore):
153         (WebCore::HTMLMeterElement::attach): Added didElementStateChange.
154         (WebCore::HTMLMeterElement::didElementStateChange):
155         (WebCore::HTMLMeterElement::willAddAuthorShadowRoot):
156         (WebCore::HTMLMeterElement::renderMeter):
157         (WebCore::HTMLMeterElement::createShadowSubtree):
158         * html/HTMLMeterElement.h:
159         (WebCore):
160         (WebCore::HTMLMeterElement::hasAuthorShadowRoot):
161         (HTMLMeterElement):
162         (WebCore::isHTMLMeterElement):
163         (WebCore::toHTMLMeterElement):
164         * html/shadow/MeterShadowElement.cpp:
165         (WebCore::MeterShadowElement::meterElement):
166         (WebCore::MeterShadowElement::rendererIsNeeded):
167         (WebCore):
168         (WebCore::MeterInnerElement::MeterInnerElement): We introduce a new element having RenderMeter
169         so that we can distribute an element having RenderMeter to AuthorShadowDOM.
170         (WebCore::MeterInnerElement::rendererIsNeeded): Different from a progress element, meter element will not be
171         rendered using a theme. So we don't need to check the style appearance.
172         (WebCore::MeterInnerElement::createRenderer):
173         (WebCore::MeterInnerElement::shadowPseudoId):
174         * html/shadow/MeterShadowElement.h:
175         (WebCore):
176         (MeterInnerElement):
177         (WebCore::MeterInnerElement::create):
178         * rendering/RenderMeter.cpp:
179         (WebCore::RenderMeter::RenderMeter):
180         (WebCore::RenderMeter::meterElement):
181         (WebCore):
182         (WebCore::RenderMeter::valueRatio):
183         * rendering/RenderMeter.h:
184         (RenderMeter):
185         * rendering/RenderThemeMac.mm:
186         (WebCore::RenderThemeMac::levelIndicatorFor):
187
188 2012-08-15  Adam Barth  <abarth@webkit.org>
189
190         [Chromium] fast/dom/Window/dom-access-from-closure-window.html is flaky on Linux
191         https://bugs.webkit.org/show_bug.cgi?id=94060
192
193         Reviewed by Kentaro Hara.
194
195         Previously, the V8 garbage collector might have collected the Document
196         wrapper before the DOMWindow wrapper because we overwrite the
197         "document" property of the DOMWindow during navigation.
198
199         This patch adds a hidden document property on the global object to
200         ensure that the Document wrapper lives at least as long as the
201         DOMWindow wrapper, ensuring that DOMWindows that we obtain from V8
202         always have non-null Document objects.
203
204         The JavaScriptCore bindings already have this behavior.
205
206         Test: fast/dom/Window/dom-access-from-closure-window-with-gc.html
207
208         * bindings/v8/V8DOMWindowShell.cpp:
209         (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
210         * bindings/v8/V8HiddenPropertyName.h:
211         (WebCore):
212
213 2012-08-14  Andrey Kosyakov  <caseq@chromium.org>
214
215         Web Inspector: Calling getEventListeners() on element with malformed javascript event listeners crashes
216         https://bugs.webkit.org/show_bug.cgi?id=93937
217
218         Reviewed by Pavel Feldman.
219
220         - check listener function to be non-null (happens upon an exception while compiling attribute listeners)
221
222         * bindings/js/JSInjectedScriptHostCustom.cpp:
223         (WebCore::getJSListenerFunctions):
224         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
225         (WebCore::getJSListenerFunctions):
226
227 2012-08-14  Jan Keromnes  <janx@linux.com>
228
229         Web Inspector: CodeMirrorTextEditor doesn't clear execution line
230         https://bugs.webkit.org/show_bug.cgi?id=94069
231
232         Reviewed by Pavel Feldman.
233
234         Make CodeMirrorTextEditor use line handles instead of numbers, remove
235         typeof == "number" checks.
236
237         * inspector/front-end/CodeMirrorTextEditor.js:
238         (WebInspector.CodeMirrorTextEditor.prototype.clearExecutionLine):
239         (WebInspector.CodeMirrorTextEditor.prototype.highlightLine):
240         (WebInspector.CodeMirrorTextEditor.prototype.clearLineHighlight):
241
242 2012-08-14  Yuta Kitamura  <yutak@google.com>
243
244         Unreviewed. Fix Chromium-Android builds.
245
246         * html/TimeInputType.cpp:
247         (WebCore::TimeInputType::TimeInputType):
248         Declare the function as a constructor.
249
250 2012-08-14  Sukolsak Sakshuwong  <sukolsak@google.com>
251
252         Text selection in text area in auto scroll mode goes wrong.
253         https://bugs.webkit.org/show_bug.cgi?id=74346
254
255         Reviewed by Ojan Vafai.
256
257         WebKit triggers autoscroll in text area when the user drags the cursor from inside
258         the text area to the outside. When that happens, it gets the local cursor position
259         relative to the node under the cursor from hit-testing, converts it to
260         the absolute position, and then converts it to the local position relative to the
261         text area. However, the hit-testing method of text area did not take scrolling
262         offset into account. This caused it to give an incorrect value of the local cursor
263         position. Make the hit-testing take scrolling offset into account.
264
265         Test: fast/events/autoscroll-in-textarea.html
266
267         * html/shadow/TextControlInnerElements.cpp:
268         (WebCore::TextControlInnerTextElement::createRenderer):
269         * rendering/RenderTextControl.cpp:
270         (WebCore::RenderTextControl::hitInnerTextElement):
271         * rendering/RenderTextControlSingleLine.cpp:
272         (WebCore):
273         * rendering/RenderTextControlSingleLine.h:
274         (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):
275         (WebCore::RenderTextControlInnerBlock::hasLineIfEmpty):
276
277 2012-08-14  Shinya Kawanaka  <shinyak@chromium.org>
278
279         [Refactoring] RenderMenuList and RenderListBox should have a method to return HTMLSelectElement.
280         https://bugs.webkit.org/show_bug.cgi?id=94061
281
282         Reviewed by Kent Tamura.
283
284         This is a preparation patch for Bug 91487. Since RenderMenuList::node() and RenderListBox::node()
285         will not return HTMLSelectElement to fix Bug 91487, it would be good to have a method to HTMLSelectElement.
286
287         No new tests, no change in behavior.
288
289         * rendering/RenderListBox.cpp:
290         (WebCore::RenderListBox::selectElement):
291         (WebCore):
292         (WebCore::RenderListBox::updateFromElement):
293         (WebCore::RenderListBox::scrollToRevealSelection):
294         (WebCore::RenderListBox::size):
295         (WebCore::RenderListBox::numItems):
296         (WebCore::RenderListBox::addFocusRingRects):
297         (WebCore::RenderListBox::paintItemForeground):
298         (WebCore::RenderListBox::paintItemBackground):
299         (WebCore::RenderListBox::panScroll):
300         (WebCore::RenderListBox::autoscroll):
301         (WebCore::RenderListBox::stopAutoscroll):
302         (WebCore::RenderListBox::valueChanged):
303         (WebCore::RenderListBox::nodeAtPoint):
304         * rendering/RenderListBox.h:
305         (WebCore):
306         (RenderListBox):
307         * rendering/RenderMenuList.cpp:
308         (WebCore::RenderMenuList::selectElement):
309         (WebCore):
310         (WebCore::RenderMenuList::updateOptionsWidth):
311         (WebCore::RenderMenuList::updateFromElement):
312         (WebCore::RenderMenuList::setTextFromOption):
313         (WebCore::RenderMenuList::showPopup):
314         (WebCore::RenderMenuList::valueChanged):
315         (WebCore::RenderMenuList::listBoxSelectItem):
316         (WebCore::RenderMenuList::multiple):
317         (WebCore::RenderMenuList::didSetSelectedIndex):
318         (WebCore::RenderMenuList::didUpdateActiveOption):
319         (WebCore::RenderMenuList::itemText):
320         (WebCore::RenderMenuList::itemAccessibilityText):
321         (WebCore::RenderMenuList::itemToolTip):
322         (WebCore::RenderMenuList::itemIsEnabled):
323         (WebCore::RenderMenuList::itemStyle):
324         (WebCore::RenderMenuList::itemBackgroundColor):
325         (WebCore::RenderMenuList::listSize):
326         (WebCore::RenderMenuList::selectedIndex):
327         (WebCore::RenderMenuList::itemIsSeparator):
328         (WebCore::RenderMenuList::itemIsLabel):
329         (WebCore::RenderMenuList::itemIsSelected):
330         (WebCore::RenderMenuList::setTextFromItem):
331         * rendering/RenderMenuList.h:
332         (WebCore):
333         (RenderMenuList):
334
335 2012-08-10  Kinuko Yasuda  <kinuko@chromium.org>
336
337         FileWriter fails with assertion when trying to write empty Blob
338         https://bugs.webkit.org/show_bug.cgi?id=93694
339
340         Reviewed by Kent Tamura.
341
342         if the given data size is zero (i.e. m_bytesToWrite is zero) the assertion 'bytes + m_bytesWritten > 0' should not be tested.
343
344         Tests: fast/filesystem/file-writer-empty-blob.html
345                fast/filesystem/workers/file-writer-empty-blob.html
346
347         * Modules/filesystem/FileWriter.cpp:
348         (WebCore::FileWriter::didWrite):
349
350 2012-08-14  Keishi Hattori  <keishi@webkit.org>
351
352         Share common code between calendar picker and color suggestion picker
353         https://bugs.webkit.org/show_bug.cgi?id=93802
354
355         Reviewed by Kent Tamura.
356
357         We want to share common code like utility functions between picker page popups.
358
359         No new tests because no behavior change. Covered by existing tests, color-suggestion-picker-appearance.html and calendar-picker-apeparance.html.
360
361         * Resources/pagepopups/calendarPicker.js:
362         (YearMonthController.prototype.attachTo):
363         (YearMonthController.prototype._showPopup):
364         * Resources/pagepopups/colorSuggestionPicker.js:
365         (handleMessage):
366         (handleArgumentsTimeout):
367         * Resources/pagepopups/pickerCommon.css: Added.
368         (body):
369         * Resources/pagepopups/pickerCommon.js: Added.
370         (createElement):
371         (resizeWindow):
372         (getScrollbarWidth):
373         * WebCore.gyp/WebCore.gyp: Add actions for pickerCommon.{css,js}
374         * html/shadow/CalendarPickerElement.cpp:
375         (WebCore::CalendarPickerElement::writeDocument):
376
377 2012-08-14  Ojan Vafai  <ojan@chromium.org>
378
379         Fix access to m_markupBox in WebCore::EllipsisBox::paint
380         https://bugs.webkit.org/show_bug.cgi?id=91138
381
382         Reviewed by Abhishek Arya.
383
384         EllipsisBox would hold on to m_markupBox, which would then get destroyed during
385         the followup layoutIfNeeded in layoutVerticalBox. Instead, have EllipsisBox
386         dynamically grab to pointer to the markup box during paint since there's no
387         straightforward way to notify the EllipsisBox that the markupBox has been destroyed
388         and/or point it at the new markupBox.
389
390         Test: fast/overflow/line-clamp-and-columns.html
391
392         * rendering/EllipsisBox.cpp:
393         (WebCore::EllipsisBox::paint):
394         (WebCore):
395         (WebCore::EllipsisBox::paintMarkupBox):
396         * rendering/EllipsisBox.h:
397         (WebCore::EllipsisBox::EllipsisBox):
398         Just store a boolean that we have a markup box that needs painting.
399         * rendering/RenderDeprecatedFlexibleBox.cpp:
400         (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
401         Clearing the override size right after setting it was incorrect because
402         there are cases where we'll do a followup layout in layoutVerticalBox, at which
403         point we'll still need the override size.
404         (WebCore::RenderDeprecatedFlexibleBox::clearLineClamp):
405         Clear the override size here to handle cases where line clamp is removed since
406         we don't call applyLineClamp in those cases.
407
408 2012-08-14  Yoshifumi Inoue  <yosin@chromium.org>
409
410         [Forms] Make input type "time" to use multiple field time input UI
411         https://bugs.webkit.org/show_bug.cgi?id=93929
412
413         Reviewed by Kent Tamura.
414
415         This patch changes input type "time" UI to use multiple field time
416         input UI when build flag ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS
417         enabled.
418
419         No new tests. This patch doesn't change behavior for users, however,
420         this patch changes behavior on layout tests. Tests will be added
421         in another patch with runtime enabled feature flag is enabled.
422
423         Test expectations for following tests are updated:
424          - fast/forms/time/time-input-visible-string.html
425          - fast/forms/time/time-stepup-stepdown-from-renderer.html
426
427         * html/BaseDateAndTimeInputType.h:
428         (BaseDateAndTimeInputType): Exposed serialize() to derived classes.
429         * html/TimeInputType.cpp:
430         (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::DateTimeEditControlOwnerImpl):
431         (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::~DateTimeEditControlOwnerImpl):
432         (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::editControlMouseFocus):
433         (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::editControlValueChanged):
434         (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerDisabled):
435         (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerReadOnly):
436         (WebCore::TimeInputType::TimeInputType):
437         (WebCore::TimeInputType::~TimeInputType):
438         (WebCore::TimeInputType::createRenderer):
439         (WebCore::TimeInputType::createShadowSubtree):
440         (WebCore::TimeInputType::destroyShadowSubtree):
441         (WebCore::TimeInputType::forwardEvent):
442         (WebCore::TimeInputType::disabledAttributeChanged):
443         (WebCore::TimeInputType::handleKeydownEvent):
444         (WebCore::TimeInputType::handleDOMActivateEvent):
445         (WebCore::TimeInputType::isKeyboardFocusable):
446         (WebCore::TimeInputType::isMouseFocusable):
447         (WebCore::TimeInputType::minOrMaxAttributeChanged):
448         (WebCore::TimeInputType::readonlyAttributeChanged):
449         (WebCore::TimeInputType::isTextField):
450         (WebCore::TimeInputType::setValue):
451         (WebCore::TimeInputType::shouldUseInputMethod):
452         (WebCore::TimeInputType::stepAttributeChanged):
453         (WebCore::TimeInputType::updateEditElementLayout):
454         (WebCore::TimeInputType::updateInnerTextValue):
455         (WebCore::TimeInputType):
456         * html/TimeInputType.h:
457         (TimeInputType):
458         (DateTimeEditControlOwnerImpl):
459
460 2012-08-14  Dean Jackson  <dino@apple.com>
461
462         Initial call to webkitRequestAnimationFrame returns 0, Spec indicates the handle should always be > 0
463         https://bugs.webkit.org/show_bug.cgi?id=85819
464
465         Reviewed by James Robinson.
466
467         The callback id returned by requestAnimationFrame was beginning at zero, when the spec
468         says it should be above one. Use a pre-increment rather than a post-increment.
469
470         Test: fast/animation/request-animation-frame-callback-id.html
471
472         * dom/ScriptedAnimationController.cpp:
473         (WebCore::ScriptedAnimationController::registerCallback): Pre-increment rather than post-increment.
474
475 2012-08-14  Levi Weintraub  <leviw@chromium.org>
476
477         r125591 broke tests with SUBPIXEL_LAYOUT disabled
478         https://bugs.webkit.org/show_bug.cgi?id=94027
479
480         Reviewed by Eric Seidel.
481
482         The previous patch to fix block preferred widths for subpixel layout broke ports
483         without the flag enabled. This patch adds a static inline function --
484         adjustFloatForSubPixelLayout -- that truncates with sub-pixel layout disabled, and
485         ceil's to the nearest FractionalLayoutUnit when sub-pixel layout is enabled.
486
487         A block's max preferred width should be enough to layout the entire line without
488         wrapping. r125591 addressed a bug whereby converting floats to LayoutUnits with sub-
489         pixel layout enabled lost precision in certain cases, and could result in a line
490         being layed out to slightly over the max preferred width of the block.
491
492         This patch reverts the behavior when sub-pixel layout is disabled to truncating
493         sub-pixel values (such as those that originate in Length) when assigning them to
494         LayoutUnits, and ceiling the length of the entire line to the next largest integer.
495
496         Covered by existing tests.
497
498         * rendering/RenderBlock.cpp:
499         (WebCore):
500         (WebCore::adjustFloatForSubPixelLayout):
501         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
502
503 2012-08-14  Chris Evans  <cevans@google.com>
504
505         Handle the XPath / (root) operator correctly for nodes that aren't attached to the document.
506         https://bugs.webkit.org/show_bug.cgi?id=36427
507
508         Reviewed by Abhishek Arya.
509
510         We now behave the same as Firefox 14.
511         The consensus seems to be that the XPath spec is ambiguous for the case of detached nodes, and that using the fragment root is more intuitive than the document root for the case of detached nodes.
512         For example, http://www.w3.org/TR/xpath/ section 2 "Location Paths" is only clear for attached nodes: "A / by itself selects the root node of the document containing the context node. If it is followed by a relative location path, then the location path selects the set of nodes that would be selected by the relative location path relative to the root node of the document containing the context node."
513
514         Test: fast/xpath/xpath-detached-nodes.html
515
516         * xml/XPathPath.cpp:
517         (WebCore::XPath::LocationPath::evaluate): Jump to the root of the detached subtree instead of the parent document if the node isn't attached to the document.
518
519 2012-08-14  Alexandru Chiculita  <achicu@adobe.com>
520
521         [CSS Shaders][Chromium] Filters area applied twice when CustomFilterOperation is in the list
522         https://bugs.webkit.org/show_bug.cgi?id=93900
523
524         Reviewed by James Robinson.
525
526         Whenever the platform cannot render a shader in hardware it will fallback to software. 
527         In such cases, the platform should remove any old filters applied, so that the filters do not apply twice.
528         
529         Test: css3/filters/custom/filter-fallback-to-software.html
530
531         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
532         (WebCore::GraphicsLayerChromium::setFilters):
533
534 2012-08-14  Alec Flett  <alecflett@chromium.org>
535
536         IndexedDB: add tracing to IDBLevelDBBackingStore
537         https://bugs.webkit.org/show_bug.cgi?id=93914
538
539         Reviewed by Tony Chang.
540
541         Add a bunch of trace events to the lower level
542         database layer, to separate database slowness
543         from core IDB slowness.
544
545         Also moving findKeyInIndex into IDBLevelDBBackingStore to
546         eventually make it const.
547
548         No new tests, just adding debug logging.
549
550         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
551         (WebCore::IDBLevelDBBackingStore::open):
552         (WebCore::IDBLevelDBBackingStore::deleteDatabase):
553         (WebCore::IDBLevelDBBackingStore::getObjectStores):
554         (WebCore::IDBLevelDBBackingStore::createObjectStore):
555         (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
556         (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
557         (WebCore):
558         (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
559         (WebCore::IDBLevelDBBackingStore::clearObjectStore):
560         (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
561         (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
562         (WebCore::IDBLevelDBBackingStore::getIndexes):
563         (WebCore::IDBLevelDBBackingStore::createIndex):
564         (WebCore::IDBLevelDBBackingStore::deleteIndex):
565         (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
566         (WebCore::IDBLevelDBBackingStore::findKeyInIndex):
567         (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
568         (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
569         (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
570         (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
571         (WebCore::IDBLevelDBBackingStore::openIndexCursor):
572         (WebCore::IDBLevelDBBackingStore::Transaction::commit):
573         (WebCore::IDBLevelDBBackingStore::Transaction::rollback):
574         * Modules/indexeddb/IDBLevelDBBackingStore.h:
575         (IDBLevelDBBackingStore):
576         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
577         (WebCore):
578         * Modules/indexeddb/IDBTransaction.cpp:
579         (WebCore::IDBTransaction::onAbort):
580         (WebCore::IDBTransaction::onComplete):
581
582 2012-08-14  Hayato Ito  <hayato@chromium.org>
583
584         Refactor EventDispatcher, moving code to make actual changes easier to review later.
585         https://bugs.webkit.org/show_bug.cgi?id=93959
586
587         Reviewed by Dimitri Glazkov.
588
589         No new tests - no new functionality.
590
591         * dom/EventDispatcher.cpp:
592         (WebCore::EventDispatcher::dispatchScopedEvent):
593         (WebCore):
594         (WebCore::EventDispatcher::dispatchSimulatedClick):
595
596 2012-08-14  Kihong Kwon  <kihong.kwon@samsung.com>
597
598         Clear pattern to prevent timing problem between cancelVibration and vibrate
599         https://bugs.webkit.org/show_bug.cgi?id=93957
600
601         Reviewed by Kentaro Hara.
602
603         There is a timing issue in the cancelVibration.
604         Since vibrate works based on timer, cancelVibration might be called
605         eariler than vibrate when cancelVibration is called just after vibrate call.
606         It can be prevented from clearing m_pattern in the cancelVibration.
607
608         * Modules/vibration/Vibration.cpp:
609         (WebCore::Vibration::cancelVibration):
610
611 2012-08-14  Alexandru Chiculita  <achicu@adobe.com>
612
613         Layout Test css3/filters/custom/custom-filter-animation.html is failing
614         https://bugs.webkit.org/show_bug.cgi?id=91769
615
616         Reviewed by Dean Jackson.
617
618         Mountain Lion added support for accelerated filter animations, but CSS Shaders are still
619         rendered in software mode. The setFilters method is using PlatformCALayer::filtersCanBeComposited to check
620         if the filters can be handled in hardwawre, so I've reused that in the createFilterAnimationsFromKeyframes
621         to check if the animations can also run in hardware.
622
623         Also the GraphicsContext3D doesn't update its own internal m_boundFBO when a framebuffer is deleted,
624         so I've added that to the FECustomFilter. Otherwise, if the next framebuffer is created using the same
625         identifier, bindFramebuffer will just return without calling the glBindFramebuffer because of this optimization.
626
627         The documentation for glDeleteFramebuffer says that the bound framebuffer is unbound before deleting it.
628         This is not reproduceable from WebGL, because WebGLRenderingContext::deleteFramebuffer
629         already knows to unbind the framebuffer when needed. However, I'm also adding that in GraphicsContext3DOpenGLCommon.cpp
630         and efl/GraphicsContext3DPrivate.cpp, to make sure that m_boundFBO is not used for other purposes.
631
632         No new tests, this patch fixes a failing test.
633
634         * platform/graphics/ca/GraphicsLayerCA.cpp:
635         (WebCore::GraphicsLayerCA::createFilterAnimationsFromKeyframes):
636         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
637         (WebCore::GraphicsContext3DPrivate::deleteFramebuffer):
638         * platform/graphics/filters/FECustomFilter.cpp:
639         (WebCore::FECustomFilter::deleteRenderBuffers):
640         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
641         (WebCore::GraphicsContext3D::deleteFramebuffer):
642
643 2012-08-14  Adam Barth  <abarth@webkit.org>
644
645         Delete Frame::domWindow() and Frame::existingDOMWindow()
646         https://bugs.webkit.org/show_bug.cgi?id=93990
647
648         Reviewed by Eric Seidel.
649
650         These functions just call through to document()->domWindow(). This
651         patch updates the callers so it's clearer what's going on.
652
653         * bindings/js/JSDOMBinding.cpp:
654         (WebCore::shouldAllowAccessToFrame):
655         (WebCore::printErrorMessageForFrame):
656         * bindings/js/JSDocumentCustom.cpp:
657         (WebCore::JSDocument::location):
658         (WebCore::JSDocument::setLocation):
659         * bindings/js/JSEventListener.cpp:
660         (WebCore::JSEventListener::handleEvent):
661         * bindings/js/ScriptCachedFrameData.cpp:
662         (WebCore::ScriptCachedFrameData::restore):
663         * bindings/js/ScriptController.cpp:
664         (WebCore::ScriptController::createWindowShell):
665         * bindings/objc/DOMAbstractView.mm:
666         (core):
667         * bindings/v8/NPV8Object.cpp:
668         (WebCore::toV8Context):
669         * bindings/v8/ScriptController.cpp:
670         (WebCore::createScriptObject):
671         (WebCore::ScriptController::createScriptObjectForPluginElement):
672         * bindings/v8/V8DOMWindowShell.cpp:
673         (WebCore::V8DOMWindowShell::initContextIfNeeded):
674         * bindings/v8/V8IsolatedContext.cpp:
675         (WebCore::V8IsolatedContext::V8IsolatedContext):
676         * bindings/v8/V8Proxy.cpp:
677         (WebCore::V8Proxy::retrieveFrame):
678         * bindings/v8/custom/V8DOMWindowCustom.cpp:
679         (WebCore::V8DOMWindow::indexedPropertyGetter):
680         (WebCore::V8DOMWindow::namedPropertyGetter):
681         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
682         (WebCore::V8Document::locationAccessorGetter):
683         (WebCore::V8Document::locationAccessorSetter):
684         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
685         (WebCore::V8HTMLDocument::GetNamedProperty):
686         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
687         (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
688         * dom/Document.cpp:
689         (WebCore::printNavigationErrorMessage):
690         * dom/ViewportArguments.cpp:
691         (WebCore::reportViewportWarning):
692         * editing/AlternativeTextController.cpp:
693         (WebCore::AlternativeTextController::insertDictatedText):
694         * editing/Editor.cpp:
695         (WebCore::Editor::pasteAsPlainText):
696         (WebCore::Editor::pasteAsFragment):
697         (WebCore::Editor::setComposition):
698         * history/PageCache.cpp:
699         (WebCore::logCanCacheFrameDecision):
700         (WebCore::PageCache::canCachePageContainingThisFrame):
701         * html/HTMLFormElement.cpp:
702         (WebCore::HTMLFormElement::validateInteractively):
703         * html/HTMLFrameOwnerElement.cpp:
704         (WebCore::HTMLFrameOwnerElement::contentWindow):
705         * html/canvas/WebGLRenderingContext.cpp:
706         (WebCore):
707         (WebCore::WebGLRenderingContext::printWarningToConsole):
708         * inspector/InspectorDOMStorageAgent.cpp:
709         (WebCore::InspectorDOMStorageAgent::storageId):
710         * loader/DocumentLoader.cpp:
711         (WebCore::DocumentLoader::checkLoadComplete):
712         * loader/DocumentWriter.cpp:
713         (WebCore::DocumentWriter::begin):
714         * loader/FrameLoader.cpp:
715         (WebCore::FrameLoader::stopLoading):
716         (WebCore::FrameLoader::didOpenURL):
717         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
718         (WebCore::FrameLoader::checkIfRunInsecureContent):
719         (WebCore::FrameLoader::reportLocalLoadFailed):
720         (WebCore::FrameLoader::prepareForCachedPageRestore):
721         (WebCore::FrameLoader::open):
722         (WebCore::FrameLoader::fireBeforeUnloadEvent):
723         * loader/MainResourceLoader.cpp:
724         (WebCore::MainResourceLoader::didReceiveResponse):
725         * loader/appcache/ApplicationCacheGroup.cpp:
726         (WebCore::ApplicationCacheGroup::abort):
727         (WebCore::ApplicationCacheGroup::didReceiveResponse):
728         (WebCore::ApplicationCacheGroup::didFinishLoading):
729         (WebCore::ApplicationCacheGroup::didFail):
730         (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
731         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
732         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
733         * loader/cache/CachedResourceLoader.cpp:
734         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
735         * page/DOMWindow.cpp:
736         (WebCore::DOMWindow::isCurrentlyDisplayedInFrame):
737         (WebCore::DOMWindow::self):
738         (WebCore::DOMWindow::opener):
739         (WebCore::DOMWindow::parent):
740         (WebCore::DOMWindow::top):
741         (WebCore::DOMWindow::createWindow):
742         (WebCore::DOMWindow::open):
743         * page/DOMWindowProperty.cpp:
744         (WebCore::DOMWindowProperty::DOMWindowProperty):
745         (WebCore::DOMWindowProperty::reconnectFrameFromPageCache):
746         * page/DragController.cpp:
747         (WebCore::DragController::dispatchTextInputEventFor):
748         * page/EventHandler.cpp:
749         (WebCore::EventHandler::handleTextInputEvent):
750         * page/Frame.cpp:
751         * page/Frame.h:
752         (Frame):
753         * page/Location.cpp:
754         (WebCore::Location::replace):
755         (WebCore::Location::reload):
756         (WebCore::Location::setLocation):
757         * storage/StorageEventDispatcher.cpp:
758         (WebCore::StorageEventDispatcher::dispatch):
759         * svg/SVGDocumentExtensions.cpp:
760         (WebCore::reportMessage):
761         * xml/XSLStyleSheetLibxslt.cpp:
762         (WebCore::XSLStyleSheet::parseString):
763         * xml/XSLTProcessorLibxslt.cpp:
764         (WebCore::docLoaderFunc):
765         * xml/XSLTProcessorQt.cpp:
766         (WebCore::XSLTMessageHandler::handleMessage):
767
768 2012-08-14  Mike West  <mkwst@chromium.org>
769
770         Tighten up parsing the 'script-nonce' CSP directive value.
771         https://bugs.webkit.org/show_bug.cgi?id=93783
772
773         Reviewed by Adam Barth.
774
775         Currently we're accepting any non-whitespace character. This patch
776         limits the valid characters to VCHAR minus ',' and ';', and pulls the
777         validity check out into a named function for clarity.
778
779         Test: http/tests/security/contentSecurityPolicy/1.1/scriptnonce-separators-allowed.html
780
781         * page/ContentSecurityPolicy.cpp:
782         (WebCore::CSPDirectiveList::parseScriptNonce):
783
784 2012-08-14  Adam Barth  <abarth@webkit.org>
785
786         Delete DOMWindow::m_url
787         https://bugs.webkit.org/show_bug.cgi?id=93989
788
789         Reviewed by Eric Seidel.
790
791         There's no reason for DOMWindow to keep a separate copy of the
792         Document's URL now that there is a predictable way to get a Document
793         from a DOMWindow.
794
795         * loader/DocumentWriter.cpp:
796         (WebCore::DocumentWriter::begin):
797         * loader/FrameLoader.cpp:
798         (WebCore::FrameLoader::open):
799         * page/DOMWindow.cpp:
800         (WebCore::DOMWindow::crossDomainAccessErrorMessage):
801         * page/DOMWindow.h:
802         (DOMWindow):
803
804 2012-08-14  Nikhil Bhargava  <nbhargava@google.com>
805
806         De-inline stuff from RenderStyle.h
807         https://bugs.webkit.org/show_bug.cgi?id=94019
808
809         Reviewed by Eric Seidel.
810
811         De-inline things from RenderStyle.h in preparation of fixing a series of
812         errant includes.
813
814         No new tests. Doesn't change functionality
815
816         * WebCore.exp.in:
817         * rendering/style/RenderStyle.cpp:
818         (WebCore::RenderStyle::listStyleImage):
819         (WebCore::RenderStyle::setListStyleImage):
820         (WebCore):
821         (WebCore::RenderStyle::color):
822         (WebCore::RenderStyle::visitedLinkColor):
823         (WebCore::RenderStyle::setColor):
824         (WebCore::RenderStyle::setVisitedLinkColor):
825         (WebCore::RenderStyle::horizontalBorderSpacing):
826         (WebCore::RenderStyle::verticalBorderSpacing):
827         (WebCore::RenderStyle::setHorizontalBorderSpacing):
828         (WebCore::RenderStyle::setVerticalBorderSpacing):
829         (WebCore::RenderStyle::font):
830         (WebCore::RenderStyle::fontMetrics):
831         (WebCore::RenderStyle::fontDescription):
832         (WebCore::RenderStyle::fontSize):
833         (WebCore::RenderStyle::wordSpacing):
834         (WebCore::RenderStyle::letterSpacing):
835         (WebCore::RenderStyle::setFontDescription):
836         (WebCore::RenderStyle::lineHeight):
837         (WebCore::RenderStyle::setLineHeight):
838         (WebCore::RenderStyle::computedLineHeight):
839         (WebCore::RenderStyle::setWordSpacing):
840         (WebCore::RenderStyle::setLetterSpacing):
841         * rendering/style/RenderStyle.h:
842
843 2012-08-14  Andrei Onea  <onea@adobe.com>
844
845         [CSSRegions]Region overset property is incorectly computed when content has negative letter spacing and is flowed near to the edge of a region
846         https://bugs.webkit.org/show_bug.cgi?id=92506
847
848         Reviewed by Eric Seidel.
849
850         When the content which is flowed inside a region creates visual overflow in
851         the writing direction, the overflow rect is also extended in the other direction, and
852         that forces regionOverset to become "fit" for all regions.
853
854         Tests: fast/regions/element-region-overset-state-negative-letter-spacing.html
855                fast/regions/element-region-overset-state-vertical-rl-negative-letter-spacing.html
856
857         * rendering/RenderFlowThread.cpp:
858         (WebCore::RenderFlowThread::computeOverflowStateForRegions):
859
860 2012-08-14  Florin Malita  <fmalita@chromium.org>
861
862         beginElement() does not observe updated animation attributes
863         https://bugs.webkit.org/show_bug.cgi?id=93972
864
865         Reviewed by Dirk Schulze.
866
867         The SVG animation attributes 'from', 'to' and 'by' should be registered as supported
868         SVGSMILElement attributes in order to trigger animationAttributeChanged() on dynamic
869         updates.
870
871         Test: svg/animations/updated-attributes.html
872
873         * svg/SVGAnimationElement.cpp:
874         (WebCore::SVGAnimationElement::updateAnimation):
875         Minor optimization - avoid recalculating animationMode().
876
877         * svg/animation/SVGSMILElement.cpp:
878         (WebCore::SVGSMILElement::isSupportedAttribute):
879         Register 'from', 'to' and 'by' as supported SVGSMILElement attributes.
880
881 2012-08-14  Filip Spacek  <fspacek@rim.com>
882
883         [BlackBerry] Don't crash on OOM in AC
884         https://bugs.webkit.org/show_bug.cgi?id=93999
885
886         Reviewed by George Staikos.
887
888         Internally reviewed by George Staikos.
889
890         Fail gracefully in case we fail to allocate the bitmap
891         for the AC layer contents.
892
893         * platform/graphics/blackberry/InstrumentedPlatformCanvas.h:
894         (WebCore::InstrumentedPlatformCanvas::InstrumentedPlatformCanvas):
895         * platform/graphics/blackberry/LayerWebKitThread.cpp:
896         (WebCore::LayerWebKitThread::paintContents):
897
898 2012-08-14  Lauro Neto  <lauro.neto@openbossa.org>
899
900         Convert signals/slots to Q_* macros.
901
902         [Qt] Use Q_SLOTS and Q_SIGNALS instead of slots and signals
903         https://bugs.webkit.org/show_bug.cgi?id=93996
904
905         Reviewed by Kenneth Rohde Christiansen.
906
907         Change usage of keyword-conflicting 'signals' and 'slots' for
908         Q_SIGNALS and Q_SLOTS macro.
909
910         * bridge/testqtbindings.cpp:
911         (MyObject):
912         * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h:
913         * platform/graphics/qt/MediaPlayerPrivateQt.h:
914         (MediaPlayerPrivateQt):
915         * platform/network/qt/DnsPrefetchHelper.h:
916         (DnsPrefetchHelper):
917         * platform/network/qt/NetworkStateNotifierPrivate.h:
918         (NetworkStateNotifierPrivate):
919         * platform/network/qt/QNetworkReplyHandler.h:
920         (QNetworkReplyHandler):
921         * platform/network/qt/QtMIMETypeSniffer.h:
922         (QtMIMETypeSniffer):
923         * platform/network/qt/SocketStreamHandlePrivate.h:
924         (SocketStreamHandlePrivate):
925         * platform/qt/GamepadsQt.cpp:
926         (GamepadDeviceLinuxQt):
927         (GamepadsQt):
928         * platform/qt/SharedTimerQt.cpp:
929         (SharedTimerQt):
930
931 2012-08-14  Andrei Onea  <onea@adobe.com>
932
933         [CSSRegions]regionOverset is computed as "overset" even though the region is not the last in the chain
934         https://bugs.webkit.org/show_bug.cgi?id=93102
935
936         Reviewed by Eric Seidel.
937
938         Making Element.webkitRegionOverset return "overset" only for the last region in a region chain, 
939         if the content cannot fit inside it, to reflect current spec. http://www.w3.org/TR/css3-regions/#dom-region-regionoverset
940
941         * rendering/RenderFlowThread.cpp:
942         (WebCore::RenderFlowThread::computeOverflowStateForRegions):
943
944 2012-08-14  Jan Keromnes  <janx@linux.com>
945
946         Web Inspector: Render breakpoint gutter markers and execution line in CodeMirrorTextEditor
947         https://bugs.webkit.org/show_bug.cgi?id=93686
948
949         Reviewed by Pavel Feldman.
950
951         Divided TextEditor.addDecoration into addBreakpoint, setExecutionLine
952         and addDecoration. Same for removeDecoration. Render breakpoint
953         markers and execution line in CodeMirrorTextEditor.
954
955         * inspector/front-end/CodeMirrorTextEditor.js:
956         (WebInspector.CodeMirrorTextEditor):
957         (WebInspector.CodeMirrorTextEditor.prototype._onGutterClick):
958         (WebInspector.CodeMirrorTextEditor.prototype.addBreakpoint):
959         (WebInspector.CodeMirrorTextEditor.prototype.removeBreakpoint):
960         (WebInspector.CodeMirrorTextEditor.prototype.setExecutionLine):
961         (WebInspector.CodeMirrorTextEditor.prototype.clearExecutionLine):
962         (WebInspector.CodeMirrorTextEditor.prototype.addDecoration):
963         (WebInspector.CodeMirrorTextEditor.prototype.removeDecoration):
964         (WebInspector.CodeMirrorTextEditor.prototype.highlightLine):
965         (WebInspector.CodeMirrorTextEditor.prototype.clearLineHighlight):
966         (WebInspector.CodeMirrorTextEditor.prototype.removeAttribute):
967         * inspector/front-end/DefaultTextEditor.js:
968         (WebInspector.DefaultTextEditor.prototype._onMouseDown):
969         (WebInspector.DefaultTextEditor.prototype.addBreakpoint):
970         (WebInspector.DefaultTextEditor.prototype.removeBreakpoint):
971         (WebInspector.DefaultTextEditor.prototype.setExecutionLine):
972         (WebInspector.DefaultTextEditor.prototype.clearExecutionLine):
973         (WebInspector.DefaultTextEditor.prototype.addDecoration):
974         (WebInspector.DefaultTextEditor.prototype.removeDecoration):
975         * inspector/front-end/JavaScriptSourceFrame.js:
976         (WebInspector.JavaScriptSourceFrame):
977         (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
978         (WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointDecoration):
979         (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
980         (WebInspector.JavaScriptSourceFrame.prototype.clearExecutionLine):
981         (WebInspector.JavaScriptSourceFrame.prototype._handleGutterClick):
982         * inspector/front-end/TextEditor.js:
983         (WebInspector.TextEditor.prototype.addBreakpoint):
984         (WebInspector.TextEditor.prototype.removeBreakpoint):
985         (WebInspector.TextEditor.prototype.setExecutionLine):
986         (WebInspector.TextEditor.prototype.clearExecutionLine):
987         (WebInspector.TextEditor.prototype.addDecoration):
988         (WebInspector.TextEditor.prototype.removeDecoration):
989         * inspector/front-end/cmdevtools.css:
990         (.CodeMirror):
991         (.cm-highlight):
992         (@-webkit-keyframes fadeout):
993         (to):
994         (.cm-breakpoint):
995         (.cm-breakpoint-disabled):
996         (.cm-breakpoint-conditional):
997         (.cm-execution-line):
998         (.webkit-html-message-bubble):
999         (.webkit-html-warning-message):
1000         (.webkit-html-error-message):
1001         (.webkit-html-message-line):
1002         (.webkit-html-message-line-hover):
1003
1004 2012-08-13  Adrienne Walker  <enne@google.com>
1005
1006         REGRESSION (r109851): Video controls do not render
1007         https://bugs.webkit.org/show_bug.cgi?id=93859
1008
1009         Reviewed by Simon Fraser.
1010
1011         Because video layers can't act as an ancestor composited layer whose
1012         backing can be shared by child layers, any child layer of a video
1013         layer needs to be put into its own composited layer. Because this is
1014         technically overlap, the "overlap" indirect compositing reason is
1015         reused for this case.
1016
1017         Test: compositing/video/video-controls-layer-creation.html
1018
1019         * rendering/RenderLayerCompositor.cpp:
1020         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
1021
1022 2012-08-14  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1023
1024         WebKitTestRunner needs layoutTestController.dumpResourceLoadCallbacks
1025         https://bugs.webkit.org/show_bug.cgi?id=42332
1026
1027         Reviewed by Kenneth Rohde Christiansen.
1028
1029         Provide build for mac.
1030
1031         * WebCore.exp.in: Added __ZNK7WebCore19ResourceRequestBase20firstPartyForCookiesEv.
1032
1033 2012-08-14  Adam Barth  <abarth@webkit.org>
1034
1035         DOMWindow::document() should not reach through Frame
1036         https://bugs.webkit.org/show_bug.cgi?id=27640
1037
1038         Reviewed by Eric Seidel.
1039
1040         Originally, the lifetime of DOMWindow was similar to that of Frame in
1041         that it was reused for each document that was displayed in the Frame.
1042         To fix some tricky security issues, all modern browsers use a "split
1043         window" architecture whereby the DOMWindow is not reused by each
1044         Document in a Frame. Instead a JavaScript "window shell" object
1045         redirects JavaScript references to the active Document's DOMWindow.
1046
1047         When we implemented split windows, we left DOMWindow attached to the
1048         Frame and attempted to keep it in sync with the Document via a lot of
1049         delicate code. One of the main problems with this approach is that
1050         finding the DOMWindow associated with a Document or the Document
1051         associated with a DOMWindow required traversing through the Frame.
1052         Because there is a many-to-one relationship between both Documents and
1053         Frames (as well as DOMWindows and Frames), this traversal is error
1054         prone and not always available (e.g., for inactive documents).
1055
1056         This patch moves the "owning" reference for DOMWindow to Document so
1057         that we can directly traverse from Document to DOMWindow. For
1058         traversing from DOMWindow to Document, each DOMWindow keeps a Document
1059         pointer via a ContextDestructionObserver base class.
1060
1061         The main sublties in this patch are related to situations in which
1062         there isn't precisely a one-to-one relationship between Documents and
1063         DOMWindows. Previously, these situations were handled implicitly by the
1064         "flex and slop" of having separate Document and DOMWindow pointers in
1065         Frame. In this patch, these sublties are made explicit via
1066         Document::takeDOMWindowFrom, which explicitly transfers the DOMWindow
1067         (as well as ASSERTs that all the relevant objects exist in a sensible
1068         constellation).
1069
1070         * WebCore.exp.in:
1071             - These functions are no longer exported because they're inline.
1072         * bindings/js/ScriptController.cpp:
1073         (WebCore::ScriptController::clearWindowShell):
1074         * bindings/js/ScriptController.h:
1075         (ScriptController):
1076             - clearWindowShell now explicitly takes the new DOMWindow that will
1077               be pointed to by the WindowShell. Previously, clearWindowShell
1078               would implicitly create the new DOMWindow by accessing
1079               Frame::domWindow (which used to lazily create the DOMWindow).
1080         * bindings/v8/BindingState.cpp:
1081         (WebCore::currentDocument):
1082         * bindings/v8/BindingState.h:
1083         (WebCore):
1084             - currentDocument provides a directly path from the current
1085               v8::Context to the Document (by way of DOMWindow). Previously,
1086               code transited via the Frame using currentFrame.
1087         * bindings/v8/ScriptController.cpp:
1088         (WebCore::ScriptController::clearWindowShell):
1089         * bindings/v8/ScriptController.h:
1090         (ScriptController):
1091             - Mirror JSC changes to clearWindowShell.
1092         * bindings/v8/V8Utilities.cpp:
1093         (WebCore::getScriptExecutionContext):
1094             - Update getScriptExecutionContext to transit directly from the
1095               DOMWindow to the Document rather than detouring via the Frame.
1096         * dom/ContextDestructionObserver.cpp:
1097         (WebCore::ContextDestructionObserver::ContextDestructionObserver):
1098         (WebCore::ContextDestructionObserver::~ContextDestructionObserver):
1099         (WebCore):
1100         (WebCore::ContextDestructionObserver::observeContext):
1101         * dom/ContextDestructionObserver.h:
1102         (ContextDestructionObserver):
1103             - When we transfer a DOMWindow from one Document to another, we
1104               need to update the Document pointer in the DOMWindow to point to
1105               the new Document. The DOMWindow holds the Document pointer via
1106               ContextDestructionObserver, so this patch teaches
1107               ContextDestructionObserver how to change which
1108               ScriptExecutionContext it is observing. This code mirrors similar
1109               code in FrameDestructionObserver.
1110         * dom/Document.cpp:
1111         (WebCore::Document::~Document):
1112         (WebCore::Document::detach):
1113         (WebCore::Document::createDOMWindow):
1114             - createDOMWindow now explicitly creates the DOMWindow. Previously,
1115               we created the DOMWindow implicitly in Frame::domWindow when it
1116               was first accessed.
1117         (WebCore::Document::takeDOMWindowFrom):
1118             - takeDOMWindowFrom explicitly transfers the DOMWindow from one
1119               Document to another. The main benefit of this function is the
1120               ASSERTs that ensure that the Document, DOMWindow, and Frame all
1121               point to each other the correct configuration.
1122         (WebCore::Document::didUpdateSecurityOrigin):
1123             - We no longer need to keep the SecurityOrigin pointer in DOMWindow
1124               in sync with the Document because DOMWindow no longer has a
1125               SecurityOrigin object.
1126         * dom/Document.h:
1127         (Document):
1128         (WebCore::Document::domWindow):
1129         * history/CachedFrame.cpp:
1130         (WebCore::CachedFrame::CachedFrame):
1131         (WebCore::CachedFrame::destroy):
1132         * history/CachedFrame.h:
1133         (CachedFrameBase):
1134             - Previously, CachedFrame held the Document and the DOMWindow with
1135               separate pointers. Now, the CachedFrame holds the DOMWnidow via
1136               the Document, which makes adding and removing Documents from the
1137               PageCache simpler because we don't need to keep the Frame's
1138               DOMWindow pointer synchronized.
1139         * loader/DocumentWriter.cpp:
1140         (WebCore::DocumentWriter::begin):
1141             - begin now explicitly creates the DOMWindow and transfers
1142               DOMWindow when performing a "secure transition." Previously, both
1143               of these processes were handled implicitly: the DOMWindow was
1144               created implicitly by Frame::domWindow, and the DOMWindow was
1145               reused during navigation by not clearing Frame::m_domWindow.
1146         * loader/FrameLoader.cpp:
1147         (WebCore::FrameLoader::cancelAndClear):
1148         (WebCore::FrameLoader::clear):
1149             - These functions now pass the new Document so that we have access
1150               to the new DOMWindow in clearDOMWindowShell.
1151         (WebCore::FrameLoader::setOpener):
1152             - We no longer need to keep the DOMWindow's SecurityOrigin in sync
1153               with the Document's SecurityOrigin because DOMWindow no longer
1154               has a duplicate SecurityOrigin pointer.
1155         (WebCore::FrameLoader::open):
1156             - We no longer need to keep the Frame::m_domWindow in sync with the
1157               Document because the Document carries its own DOMWindow.
1158         * loader/FrameLoader.h:
1159         (FrameLoader):
1160         * page/DOMWindow.cpp:
1161         (WebCore::DOMWindow::DOMWindow):
1162             - DOMWindow now uses Document as its primary context object. In a
1163               future patch, we should remove the FrameDestructionObserver base
1164               class and instead access the frame via DOMWindow::document().
1165         (WebCore::DOMWindow::didSecureTransitionTo):
1166             - Notify the DOMWindow that it is now associated with a new
1167               Document.
1168         (WebCore::DOMWindow::scriptExecutionContext):
1169         (WebCore::DOMWindow::document):
1170         (WebCore::DOMWindow::securityOrigin):
1171             - These functions now retrieve the Document directly rather than
1172               transiting via the Frame.
1173         * page/DOMWindow.h:
1174         (WebCore::DOMWindow::create):
1175         (DOMWindow):
1176         * page/Frame.cpp:
1177         (WebCore::Frame::setDocument):
1178             - Add more ASSERTs that the Document and its DOMWindow are properly
1179               wired up to this Frame.
1180         (WebCore::Frame::domWindow):
1181             - Rather than lazily creating the DOMWindow, this function now just
1182               accesses the already-created DOMWindow on Document. Eventually,
1183               all callers should retreive the DOMWindow from the Document
1184               directly.
1185         * page/Frame.h:
1186         (WebCore::Frame::existingDOMWindow):
1187             - The DOMWindow always exists, so there is no distinction between
1188               domWindow() and existingDOMWindow().
1189         * xml/XMLHttpRequest.cpp:
1190         (WebCore::XMLHttpRequest::open):
1191             - Previously, open would exit early if it was unable to find its
1192               ScriptExecutionContext (e.g., if the ScriptExecutionContext was
1193               inactive). Now we can always locate the ScriptExecutionContext
1194               and so we need to test whether the ScriptExecutionContext is
1195               still attached to the Page before accessing Settings. Tests
1196               verify that the platform-visible behaviors of XMLHttpRequest are
1197               unchanged, even for XMLHttpRequest constructors associated with
1198               inactive Documents.
1199         * xml/XSLTProcessor.cpp:
1200         (WebCore::XSLTProcessor::createDocumentFromSource):
1201             - Make it explicit that XSLT re-uses the DOMWindow from the source
1202               Document in the transformed Document.
1203
1204 2012-08-14  Levi Weintraub  <leviw@chromium.org>
1205
1206         Accumulating LayoutUnits with floats for determining block preferred width can lead to wrapping
1207         https://bugs.webkit.org/show_bug.cgi?id=93513
1208
1209         Reviewed by Eric Seidel.
1210
1211         Sub-pixel values from floats are subject to small losses in precision when accumulated with
1212         floating point values, as we do in RenderBlock. This patch adds a new method to FractionalLayoutUnit --
1213         ceilToFloat -- which guarantees us a floating point value at least as big as our original LayoutUnit
1214         value, and uses it along with ceiledLayoutUnit to avoid underprovisioning RenderBlock's preferred
1215         widths due to lost precision.
1216
1217         Test: fast/sub-pixel/block-preferred-widths-with-sub-pixel-floats.html
1218
1219         * platform/FractionalLayoutUnit.h:
1220         (WebCore::FractionalLayoutUnit::ceilToFloat): Returns a float value the same or larger than the
1221         FractionalLayoutUnit value.
1222         (FractionalLayoutUnit):
1223         (WebCore::FractionalLayoutUnit::epsilon): Now returns 0 when sub-pixel is disabled.
1224         * rendering/RenderBlock.cpp:
1225         (WebCore::RenderBlock::computeLogicalLocationForFloat): Adding a LayoutUnit::epsilon fudge factor
1226         for fitting floats. This is probably necessary due to precision being lost elsewhere.
1227         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths): Ensure no precision is lost due to conversion
1228         when accumulating our min/max width with floats.
1229
1230 2012-08-14  Jer Noble  <jer.noble@apple.com>
1231
1232         Fullscreen/normal volume sliders don't stay in sync
1233         https://bugs.webkit.org/show_bug.cgi?id=93867
1234
1235         Reviewed by Eric Carlson.
1236
1237         Change the full screen volume slider, if present, when the media element's volume
1238         changes.
1239
1240         Test: media/video-controls-fullscreen-volume.html
1241
1242         * html/shadow/MediaControlRootElement.cpp:
1243         (WebCore::MediaControlRootElement::changedVolume):
1244
1245 2012-08-14  Olivier Blin  <olivier.blin@softathome.com>
1246
1247         Remove unused yyparse method in CSSParser
1248         https://bugs.webkit.org/show_bug.cgi?id=93986
1249
1250         Reviewed by Darin Adler.
1251
1252         This method is unused and not even declared.
1253
1254         No new tests, it just removes unused code.
1255
1256         * css/CSSParser.h:
1257
1258 2012-08-14  Zan Dobersek  <zandobersek@gmail.com>
1259
1260         [Gtk] Include all files guarded by ENABLE_* guards in Source/WebCore/GNUmakefile.list.am into the build
1261         https://bugs.webkit.org/show_bug.cgi?id=90696
1262
1263         Reviewed by Philippe Normand.
1264
1265         Include all files in the Autotools build that are currently guarded by ENABLE_* guards in
1266         the WebCore GNUmakefile.list.am, regardless of the feature being enabled. Compilation should
1267         rely on proper use of guards inside source files and preprocessor work to keep the disabled
1268         features out.
1269
1270         The only exception left is the ENABLE_WEBGL guard that includes the ANGLE into compilation
1271         only if WebGL feature is enabled.
1272
1273         No new tests - no new functionality.
1274
1275         * GNUmakefile.am:
1276         * GNUmakefile.list.am:
1277         * bindings/gobject/GNUmakefile.am: Add StorageInfo to the DOM bindings, despite
1278         the feature being currently disabled.
1279
1280 2012-08-14  Gregg Tavares  <gman@google.com>
1281
1282         Plumb through EXT_debug_marker entry points
1283         https://bugs.webkit.org/show_bug.cgi?id=93860
1284
1285         Reviewed by Kenneth Russell.
1286
1287         insertEventMarkerEXT, pushGroupMarkerEXT, popGroupMarkerEXT,
1288         are all entry points exposed by the OpenGL ES
1289         EXT_debug_marker extension
1290
1291         No new tests as no new functionality exposed to web.
1292
1293         * html/canvas/WebGLRenderingContext.cpp:
1294         (WebCore):
1295         (WebCore::WebGLRenderingContext::create):
1296         * platform/chromium/support/Extensions3DChromium.cpp:
1297         (WebCore::Extensions3DChromium::insertEventMarkerEXT):
1298         (WebCore):
1299         (WebCore::Extensions3DChromium::pushGroupMarkerEXT):
1300         (WebCore::Extensions3DChromium::popGroupMarkerEXT):
1301         * platform/graphics/Extensions3D.h:
1302         (Extensions3D):
1303         * platform/graphics/chromium/Extensions3DChromium.h:
1304         (Extensions3DChromium):
1305         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
1306         (WebCore::Extensions3DOpenGL::insertEventMarkerEXT):
1307         (WebCore):
1308         (WebCore::Extensions3DOpenGL::pushGroupMarkerEXT):
1309         (WebCore::Extensions3DOpenGL::popGroupMarkerEXT):
1310         * platform/graphics/opengl/Extensions3DOpenGL.h:
1311         (Extensions3DOpenGL):
1312         * platform/graphics/opengl/Extensions3DOpenGLES.cpp:
1313         (WebCore::Extensions3DOpenGLES::insertEventMarkerEXT):
1314         (WebCore):
1315         (WebCore::Extensions3DOpenGLES::pushGroupMarkerEXT):
1316         (WebCore::Extensions3DOpenGLES::popGroupMarkerEXT):
1317         * platform/graphics/opengl/Extensions3DOpenGLES.h:
1318         (Extensions3DOpenGLES):
1319
1320 2012-06-24  Robert Hogan  <robert@webkit.org>
1321
1322         CSS 2.1 failure: Word-spacing affects each space and non-breaking space
1323         https://bugs.webkit.org/show_bug.cgi?id=89826
1324
1325         Reviewed by Eric Seidel.
1326
1327         Add word spacing to consecutive spaces in a run per http://www.w3.org/TR/CSS21/text.html#spacing-props.
1328
1329         Test: fast/css/word-spacing-characters.html
1330               fast/css/word-spacing-characters-complex-text.html
1331               fast/css/word-spacing-characters-linebreak.html
1332               css2.1/20110323/word-spacing-characters-002.htm
1333               css2.1/20110323/word-spacing-characters-003.htm
1334               css2.1/20110323/word-spacing-remove-space-001.htm
1335               css2.1/20110323/word-spacing-remove-space-002.htm
1336               css2.1/20110323/word-spacing-remove-space-003.htm
1337               css2.1/20110323/word-spacing-remove-space-004.htm
1338               css2.1/20110323/word-spacing-remove-space-005.htm
1339               css2.1/20110323/word-spacing-remove-space-006.htm
1340               css2.1/20110323/c541-word-sp-001.htm
1341               css2.1/20110323/c541-word-sp-000.htm
1342
1343         * platform/graphics/WidthIterator.cpp:
1344         (WebCore::WidthIterator::advance): All spaces (ordinary space or &nbsp;) get word-spacing added, even
1345           if they are consecutive.
1346         * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
1347         (WebCore::HarfBuzzShaperBase::isWordEnd): ditto, but for the complex text case on Chromium. Had to use
1348           m_run rather than m_normalizedBuffer here as m_normalizedBuffer turns tabs into spaces! Unlike the simple
1349           text path, '\n' gets word-spacing - I observed this from fast/text/atsui-spacing-features.html but can't
1350           find it specified anywhere.
1351         * platform/graphics/harfbuzz/HarfBuzzShaperBase.h:
1352         (WebCore::HarfBuzzShaperBase::isCodepointSpace):
1353         * rendering/RenderBlockLineLayout.cpp:
1354         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Tested by word-spacing-linebreak.html
1355
1356 2012-08-14  Antoine Labour  <piman@chromium.org>
1357
1358         [chromium] race between CCLayerTreeHostImpl::releaseContentsTextures and CCThreadProxy::beginFrameCompleteOnImplThread
1359         https://bugs.webkit.org/show_bug.cgi?id=93684
1360
1361         Reviewed by James Robinson.
1362
1363         This keeps track of whether we're between the beginFrame post and the
1364         commit when releaseContentsTextures comes, and if that is the case, we
1365         prune the texture uploads, keep the "textures purged" flag on and kick a
1366         new commit.
1367
1368         Added CCLayerTreeHostTestEvictTextures test.
1369
1370         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1371         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
1372         (WebCore::CCLayerTreeHostImpl::beginFramePosted):
1373         (WebCore):
1374         (WebCore::CCLayerTreeHostImpl::commitComplete):
1375         (WebCore::CCLayerTreeHostImpl::canDraw):
1376         (WebCore::CCLayerTreeHostImpl::releaseContentsTextures):
1377         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1378         (CCLayerTreeHostImpl):
1379         (WebCore::CCLayerTreeHostImpl::contentsTexturesPurged):
1380         (WebCore::CCLayerTreeHostImpl::contentsTexturesWerePurgedSinceLastBeginFrame):
1381         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
1382         (WebCore::CCSingleThreadProxy::stop):
1383         (WebCore::CCSingleThreadProxy::commitAndComposite):
1384         * platform/graphics/chromium/cc/CCTextureUpdateController.h:
1385         (CCTextureUpdateController):
1386         * platform/graphics/chromium/cc/CCTextureUpdateQueue.cpp:
1387         (WebCore::CCTextureUpdateQueue::clearUploads):
1388         (WebCore):
1389         * platform/graphics/chromium/cc/CCTextureUpdateQueue.h:
1390         (CCTextureUpdateQueue):
1391         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1392         (WebCore::CCThreadProxy::scheduledActionBeginFrame):
1393         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
1394         (WebCore::CCThreadProxy::layerTreeHostClosedOnImplThread):
1395
1396 2012-08-14  Yong Li  <yoli@rim.com>
1397
1398         [BlackBerry] Pass URL String's 8-bit buffer directly to platform layer when possible
1399         https://bugs.webkit.org/show_bug.cgi?id=93861
1400
1401         Reviewed by Rob Buis.
1402
1403         PR# 187605.
1404         URL strings and HTTP header strings usually use 8-bit buffers internally. We can
1405         just pass the buffers to platform calls when only Latin1 strings are needed.
1406
1407         * platform/blackberry/ReadOnlyLatin1String.h: Added.
1408         (WebCore):
1409         (ReadOnlyLatin1String): A utility class that uses either WTF::CString or WTF::String's 8-bit buffer.
1410         (WebCore::ReadOnlyLatin1String::ReadOnlyLatin1String): Can only be constructed with WTF::String for now.
1411         (WebCore::ReadOnlyLatin1String::data):
1412         (WebCore::ReadOnlyLatin1String::length):
1413         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
1414         (WebCore::ResourceRequest::initializePlatformRequest):
1415         * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
1416         (WebCore::SocketStreamHandle::SocketStreamHandle):
1417
1418 2012-08-14  Christophe Dumez  <christophe.dumez@intel.com>
1419
1420         Fix  LayoutTests/canvas/philip/tests/2d.text.draw.space.collapse.nonspace.html
1421         https://bugs.webkit.org/show_bug.cgi?id=92974
1422
1423         Reviewed by Kenneth Rohde Christiansen.
1424
1425         Replace space characters by U+0020 SPACE characters in
1426         CanvasRenderingContext2D::drawTextInternal() in order to
1427         comply with the HTML Canvas 2D Context specification:
1428         - http://www.w3.org/TR/2dcontext/#drawing-text-to-the-canvas
1429
1430         No new tests, already tested by canvas/philip/tests/2d.text.draw.space.collapse.nonspace.html.
1431
1432         * html/canvas/CanvasRenderingContext2D.cpp:
1433         (WebCore::replaceCharacterInString):
1434         (WebCore):
1435         (WebCore::CanvasRenderingContext2D::drawTextInternal):
1436
1437 2012-08-14  George Staikos  <staikos@webkit.org>
1438
1439         [BlackBerry] Avoid assertion failure in App Cache.
1440         https://bugs.webkit.org/show_bug.cgi?id=93926
1441
1442         Reviewed by Rob Buis.
1443
1444         Short-circuit data url decoding if we know it's not a data URL to
1445         avoid an assertion failure in debug mode.  No functional change.
1446
1447         No new tests since this is just a debug mode assertion failure.
1448
1449         * loader/appcache/ApplicationCacheGroup.cpp:
1450         (WebCore::ApplicationCacheGroup::createResourceHandle):
1451
1452 2012-08-14  Thiago Marcos P. Santos  <thiago.santos@intel.com>
1453
1454         [EFL] Do not warn when the default theme is not found
1455         https://bugs.webkit.org/show_bug.cgi?id=93968
1456
1457         Reviewed by Kenneth Rohde Christiansen.
1458
1459         Even if you are using a custom theme, we always try to load first the
1460         theme at the default path (that may or may not exist). In the case it
1461         doesn't exist and you have a custom theme, we were always getting a
1462         misleading error message.
1463
1464         * platform/efl/RenderThemeEfl.cpp:
1465         (WebCore::RenderThemeEfl::createEdje):
1466
1467 2012-08-14  Joshua Bell  <jsbell@chromium.org>
1468
1469         IndexedDB: Pass cursor continue results back in callback
1470         https://bugs.webkit.org/show_bug.cgi?id=92278
1471
1472         Reviewed by Tony Chang.
1473
1474         Supply the updated cursor key/primaryKey/value in the success callback,
1475         rather than forcing the callee to make three calls into the back end to
1476         fetch them. Callbacks onSuccess(cursor) and onSuccessWithContinuation()
1477         are given the three new payload parameters (and the latter is renamed.)
1478
1479         No new tests - no behavioral changes.
1480
1481         * Modules/indexeddb/IDBCallbacks.h: Updated callbacks.
1482         (IDBCallbacks):
1483         * Modules/indexeddb/IDBCursor.cpp:
1484         (WebCore::IDBCursor::setValueReady): Takes values rather than fetching them.
1485         * Modules/indexeddb/IDBCursor.h:
1486         (IDBCursor):
1487         * Modules/indexeddb/IDBCursorBackendImpl.cpp: Delete accessors.
1488         (WebCore::IDBCursorBackendImpl::advanceInternal): Pass along updated cursor state.
1489         (WebCore::IDBCursorBackendImpl::continueFunctionInternal): Ditto.
1490         * Modules/indexeddb/IDBCursorBackendImpl.h:
1491         (IDBCursorBackendImpl): Delete accessors from interface...
1492         (WebCore::IDBCursorBackendImpl::key): ...but keep them for use within back-end.
1493         (WebCore::IDBCursorBackendImpl::primaryKey):
1494         (WebCore::IDBCursorBackendImpl::value):
1495         * Modules/indexeddb/IDBCursorBackendInterface.h: Delete accessors.
1496         * Modules/indexeddb/IDBIndexBackendImpl.cpp:
1497         (WebCore::IDBIndexBackendImpl::openCursorInternal): Pass along new cursor state.
1498         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
1499         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal): Ditto.
1500         * Modules/indexeddb/IDBRequest.cpp:
1501         (WebCore::IDBRequest::setResultCursor): Stash updated cursor state until dispatch.
1502         (WebCore::IDBRequest::onSuccess):
1503         (WebCore::IDBRequest::dispatchEvent): Update cursor with new state.
1504         * Modules/indexeddb/IDBRequest.h:
1505         (IDBRequest):
1506         * inspector/InspectorIndexedDBAgent.cpp: Update iteration code to use new callbacks.
1507         (WebCore):
1508
1509 2012-08-14  Arvid Nilsson  <anilsson@rim.com>
1510
1511         [BlackBerry] Get rid of glCopyTexImage2D in Canvas and WebGL code paths
1512         https://bugs.webkit.org/show_bug.cgi?id=93614
1513
1514         Reviewed by Antonio Gomes.
1515
1516         We used to set up resource sharing between the compositing thread
1517         context and the Canvas and WebGL contexts, and use glCopyTexImage2D to
1518         get a copy of the framebuffer to use as front buffer for compositing
1519         purposes.
1520
1521         Now we instead create an EGLImage and blit the Canvas/WebGL output to
1522         it. The compositing thread creates a texture from the EGLImage in order
1523         to composite the output.
1524
1525         Created a new EGLImageLayerWebKitThread base class that handles the
1526         EGLImage and does the blitting. CanvasLayerWebKitThread and
1527         WebGLLayerWebKitThread now inherit from this new base class.
1528
1529         However, we need to be careful to restore state after the blit because
1530         it's done using the Canvas/WebGL context.
1531
1532         The BlackBerry implementation of GraphicsContext3D::prepareTexture()
1533         was changed to no longer call glCopyTexImage, and
1534         GraphicsContext3D::platformLayer() now returns the target texture
1535         directly.
1536
1537         Reviewed internally by Filip Spacek.
1538
1539         PR 188472
1540
1541         No change in behavior, new tests.
1542
1543         * PlatformBlackBerry.cmake:
1544         * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
1545         (WebCore::CanvasLayerWebKitThread::CanvasLayerWebKitThread):
1546         (WebCore::CanvasLayerWebKitThread::~CanvasLayerWebKitThread):
1547         (WebCore::CanvasLayerWebKitThread::setDevice):
1548         (WebCore::CanvasLayerWebKitThread::makeContextCurrent):
1549         (WebCore::CanvasLayerWebKitThread::textureSize):
1550         (WebCore):
1551         (WebCore::CanvasLayerWebKitThread::textureID):
1552         * platform/graphics/blackberry/CanvasLayerWebKitThread.h:
1553         (CanvasLayerWebKitThread):
1554         * platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.cpp: Added.
1555         (WebCore):
1556         (WebCore::EGLImageLayerCompositingThreadClient::~EGLImageLayerCompositingThreadClient):
1557         (WebCore::EGLImageLayerCompositingThreadClient::uploadTexturesIfNeeded):
1558         (WebCore::EGLImageLayerCompositingThreadClient::drawTextures):
1559         (WebCore::EGLImageLayerCompositingThreadClient::deleteTextures):
1560         (WebCore::EGLImageLayerCompositingThreadClient::bindContentsTexture):
1561         (WebCore::EGLImageLayerCompositingThreadClient::setImage):
1562         * platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.h: Added.
1563         (WebCore):
1564         (EGLImageLayerCompositingThreadClient):
1565         (WebCore::EGLImageLayerCompositingThreadClient::create):
1566         (WebCore::EGLImageLayerCompositingThreadClient::layerCompositingThreadDestroyed):
1567         (WebCore::EGLImageLayerCompositingThreadClient::layerVisibilityChanged):
1568         (WebCore::EGLImageLayerCompositingThreadClient::EGLImageLayerCompositingThreadClient):
1569         * platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp: Added.
1570         (WebCore):
1571         (WebCore::EGLImageLayerWebKitThread::EGLImageLayerWebKitThread):
1572         (WebCore::EGLImageLayerWebKitThread::~EGLImageLayerWebKitThread):
1573         (WebCore::EGLImageLayerWebKitThread::setNeedsDisplay):
1574         (WebCore::EGLImageLayerWebKitThread::makeContextCurrent):
1575         (WebCore::EGLImageLayerWebKitThread::updateTextureContentsIfNeeded):
1576         (WebCore::EGLImageLayerWebKitThread::commitPendingTextureUploads):
1577         (WebCore::EGLImageLayerWebKitThread::createImageIfNeeded):
1578         (WebCore::EGLImageLayerWebKitThread::createShaderIfNeeded):
1579         (WebCore::EGLImageLayerWebKitThread::drawTexture):
1580         * platform/graphics/blackberry/EGLImageLayerWebKitThread.h: Copied from Source/WebCore/platform/graphics/blackberry/CanvasLayerWebKitThread.h.
1581         (WebCore):
1582         (EGLImageLayerWebKitThread):
1583         * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
1584         (WebCore::GraphicsContext3D::prepareTexture):
1585         (WebCore):
1586         (WebCore::GraphicsContext3D::platformTexture):
1587         * platform/graphics/blackberry/LayerCompositingThread.cpp:
1588         (WebCore::LayerCompositingThread::drawTextures):
1589         (WebCore::LayerCompositingThread::releaseTextureResources):
1590         * platform/graphics/blackberry/LayerCompositingThread.h:
1591         (WebCore::LayerCompositingThread::setClient):
1592         (LayerCompositingThread):
1593         * platform/graphics/blackberry/LayerData.h:
1594         (WebCore::LayerData::LayerData):
1595         (LayerData):
1596         * platform/graphics/blackberry/LayerWebKitThread.cpp:
1597         (WebCore::LayerWebKitThread::~LayerWebKitThread):
1598         (WebCore::LayerWebKitThread::updateTextureContentsIfNeeded):
1599         (WebCore::LayerWebKitThread::commitPendingTextureUploads):
1600         (WebCore::LayerWebKitThread::commitOnCompositingThread):
1601         * platform/graphics/blackberry/LayerWebKitThread.h:
1602         (LayerWebKitThread):
1603         * platform/graphics/blackberry/WebGLLayerWebKitThread.cpp:
1604         (WebCore::WebGLLayerWebKitThread::WebGLLayerWebKitThread):
1605         (WebCore::WebGLLayerWebKitThread::updateTextureContentsIfNeeded):
1606         (WebCore::WebGLLayerWebKitThread::makeContextCurrent):
1607         (WebCore):
1608         (WebCore::WebGLLayerWebKitThread::textureSize):
1609         (WebCore::WebGLLayerWebKitThread::textureID):
1610         * platform/graphics/blackberry/WebGLLayerWebKitThread.h:
1611         (WebGLLayerWebKitThread):
1612         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
1613         (WebCore):
1614         (WebCore::GraphicsContext3D::prepareTexture):
1615
1616 2012-08-14  Arvid Nilsson  <anilsson@rim.com>
1617
1618         [BlackBerry] Texture cache must adapt to HashMap changes
1619         https://bugs.webkit.org/show_bug.cgi?id=93955
1620
1621         Reviewed by Rob Buis.
1622
1623         This was fixed locally, but not upstreamed yet.
1624
1625         Based on an original patch by Konrad Piascik.
1626
1627         * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
1628         (WebCore::TextureCacheCompositingThread::textureForTiledContents):
1629
1630 2012-08-14  Arvid Nilsson  <anilsson@rim.com>
1631
1632         [BlackBerry] LayerCompositingThread.h doesn't compile
1633         https://bugs.webkit.org/show_bug.cgi?id=93956
1634
1635         Reviewed by Rob Buis.
1636
1637         I forgot to upstream this local change.
1638
1639         * platform/graphics/blackberry/LayerCompositingThread.h:
1640         (WebCore::LayerOverride::setBounds):
1641         (WebCore::LayerOverride::setOpacity):
1642
1643 2012-08-14  Ed Baker  <edbaker@rim.com>
1644
1645         [BlackBerry] LayerAnimation is not immutable, which makes dereferencing an expensive operation
1646         https://bugs.webkit.org/show_bug.cgi?id=93946
1647
1648         Reviewed by Antonio Gomes.
1649
1650         Make LayerAnimation immutable so it can be dereferenced from the main
1651         WebKit thread without having to dispatch to the compositing thread,
1652         which is an expensive operation.
1653
1654         TransformOperation and TimingFunction need to be made thread safe as
1655         they are referenced in LayerAnimation, but that effort is being tracked
1656         by a separate bug, #86483.
1657
1658         Reviewed internally by Arvid Nilsson.
1659
1660         No change in behavior, no new tests.
1661
1662         * platform/graphics/blackberry/LayerAnimation.h:
1663         (WebCore::LayerAnimation::name):
1664         (LayerAnimation):
1665         (WebCore::LayerAnimation::LayerAnimation):
1666         (WebCore::LayerAnimation::setName):
1667         * platform/graphics/blackberry/LayerCompositingThread.cpp:
1668         (WebCore):
1669         * platform/graphics/blackberry/LayerCompositingThread.h:
1670         (LayerCompositingThread):
1671         * platform/graphics/blackberry/LayerWebKitThread.cpp:
1672         (WebCore::LayerWebKitThread::~LayerWebKitThread):
1673
1674 2012-08-14  Arvid Nilsson  <anilsson@rim.com>
1675
1676         [BlackBerry] GraphicsLayerBlackBerry::willBeDestroyed() must call superclass implementation
1677         https://bugs.webkit.org/show_bug.cgi?id=93947
1678
1679         Reviewed by Rob Buis.
1680
1681         This was fixed locally, but not upstreamed yet.
1682
1683         Based on an original patch by Konrad Piascik.
1684
1685         * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
1686         (WebCore::GraphicsLayerBlackBerry::willBeDestroyed):
1687
1688 2012-08-14  Vineet Chaudhary  <rgf748@motorola.com>
1689
1690         Remove custom JSC bindings from ConvolverNode.idl
1691         https://bugs.webkit.org/show_bug.cgi?id=93952
1692
1693         Reviewed by Kentaro Hara.
1694
1695         We should remove custom bindings as CodeGenerator uses UNUSED_PARAM macro.
1696
1697         No new tests. No behavioural changes.
1698         All tests under webaudio/* should behave same.
1699
1700         * GNUmakefile.list.am: Removed JSConvolverNodeCustom.cpp from builds.
1701         * Modules/webaudio/ConvolverNode.idl: Removed [JSCustomSetter].
1702         * UseJSC.cmake: Removed JSConvolverNodeCustom.cpp from builds.
1703         * WebCore.gypi: Ditto.
1704         * WebCore.xcodeproj/project.pbxproj: Ditto
1705         * bindings/js/JSConvolverNodeCustom.cpp: Removed.
1706
1707 2012-08-14  Pavel Feldman  <pfeldman@chromium.org>
1708
1709         Web Inspector: add external test runner for running inspector front-end tests with no TestRunner infrastructure.
1710         https://bugs.webkit.org/show_bug.cgi?id=93833
1711
1712         Reviewed by Yury Semikhatsky.
1713
1714         Added mock test runner that allows running front-end layout tests.
1715         InspectorFrontendAPI can now dispatch whatever it receives from its embedder (opener).
1716
1717         * inspector/front-end/InspectorFrontendAPI.js:
1718         (InspectorFrontendAPI.evaluateForTest):
1719         (InspectorFrontendAPI.dispatch):
1720         (InspectorFrontendAPI.loadCompleted):
1721         (.onMessageFromOpener):
1722
1723 2012-08-14  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1724
1725         [Qt] Incomplete repaint of link underline
1726         https://bugs.webkit.org/show_bug.cgi?id=66034
1727
1728         Reviewed by Kenneth Rohde Christiansen.
1729
1730         When trying to point a line of width 30, we end up painting on of width 31, because Qt 
1731         interprets the line as end-inclusive. So adjust for end-include/exclusive difference 
1732         before requesting the draw from Qt.
1733
1734         * platform/graphics/qt/GraphicsContextQt.cpp:
1735         (WebCore::GraphicsContext::drawLine):
1736
1737 2012-08-14  Mike West  <mkwst@chromium.org>
1738
1739         Fix crash in http/tests/plugins/plugin-document-has-focus
1740         https://bugs.webkit.org/show_bug.cgi?id=93949
1741
1742         Reviewed by Jochen Eisinger.
1743
1744         Covered by http/tests/plugins/plugin-document-has-focus.html. If that
1745         doesn't crash, we're good!
1746
1747         * loader/SubframeLoader.cpp:
1748         (WebCore::SubframeLoader::pluginIsLoadable):
1749             Check the PluginDocument's ownerElement before derefing.
1750
1751 2012-08-14  KwangYong Choi  <ky0.choi@samsung.com>
1752
1753         [EFL] Fixed displaying buffering progress in the media control.
1754         https://bugs.webkit.org/show_bug.cgi?id=75681
1755
1756         Reviewed by Kenneth Rohde Christiansen.
1757
1758         It is required "rangeRect" instead of "rect" to display buffering
1759         progress properly.
1760
1761         * platform/efl/RenderThemeEfl.cpp:
1762         (WebCore::RenderThemeEfl::paintMediaSliderTrack):
1763
1764 2012-08-14  Yoshifumi Inoue  <yosin@chromium.org>
1765
1766         [Forms] Copy Source/WebCore/html/shadow/TextControlInnerElements.{cpp,h} to SpinButtonElement.{cpp,h}
1767         https://bugs.webkit.org/show_bug.cgi?id=93943
1768
1769         Reviewed by Kent Tamura.
1770
1771         This patch copys html/shadow/TextControlInnerElement.{cpp,h} to SpinButtonElement.{cpp,h} for
1772         preparation of bug 93941, Set SpinButtonElement free from HTMLInputElement.
1773
1774         No new tests. This patch doesn't change behavior.
1775
1776         * html/shadow/SpinButtonElement.cpp: Copied from Source/WebCore/html/shadow/TextControlInnerElements.cpp.
1777         * html/shadow/SpinButtonElement.h: Copied from Source/WebCore/html/shadow/TextControlInnerElements.h.
1778
1779 2012-08-14  Mike West  <mkwst@chromium.org>
1780
1781         Implement the plugin-types Content Security Policy directive.
1782         https://bugs.webkit.org/show_bug.cgi?id=91919
1783
1784         Reviewed by Adam Barth.
1785
1786         The CSP 1.1 editor's draft defines the 'plugin-types' directive as a
1787         mechanism for whitelisting only specific types of plugin content on a
1788         page. A protected resource might trust only Flash content, for instance,
1789         and could enforce that preference via a Content Security Policy of
1790         'plugin-types application/x-shockwave-flash'. Flash would load, no other
1791         plugin type would.
1792
1793         Specification details available at: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#plugin-types--experimental
1794
1795         This experimental directive is gated on the ENABLE_CSP_NEXT flag, which
1796         is currently only enabled in Chromium.
1797
1798         Tests: http/tests/security/contentSecurityPolicy/1.1/plugintypes-invalid.html
1799                http/tests/security/contentSecurityPolicy/1.1/plugintypes-mismatched-data.html
1800                http/tests/security/contentSecurityPolicy/1.1/plugintypes-mismatched-url.html
1801                http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-data.html
1802                http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-url.html
1803                http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-allowed.html
1804                http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-blocked.html
1805                http/tests/security/contentSecurityPolicy/1.1/plugintypes-url-01.html
1806                http/tests/security/contentSecurityPolicy/1.1/plugintypes-url-02.html
1807
1808         * loader/SubframeLoader.cpp:
1809         (WebCore::SubframeLoader::pluginIsLoadable):
1810             Adding a check against 'allowPluginType', and passing in both the
1811             MIME type of the plugin, as well as the declared MIME type from the
1812             object/embed element (ensuring that we do this correctly, even if
1813             we're inside a PluginDocument).
1814         (WebCore::SubframeLoader::createJavaAppletWidget):
1815             Same as 'pluginIsLoadable', but hard-coded to
1816             'application/x-java-applet'.
1817         * page/ContentSecurityPolicy.cpp:
1818         (CSPDirectiveList):
1819         (WebCore::CSPDirectiveList::logInvalidPluginTypes):
1820             Plugin types that don't match the grammar ('not/a/mime/type') are
1821             logged to the console, and ignored for purposes of matching.
1822         (WebCore):
1823         (WebCore::CSPDirectiveList::checkPluginType):
1824             Given both the plugin type and the declared type attribute, returns
1825             true if both types match, and are contained in the list of accepted
1826             plugin types.
1827         (WebCore::CSPDirectiveList::checkPluginTypeAndReportViolation):
1828             Calls out to checkPluginType, and reports a violation if that check
1829             fails.
1830         (WebCore::CSPDirectiveList::allowPluginType):
1831             Analog to the other 'CSPDirectiveList::allowXXX' methods, this
1832             branches between simply checking the type against the policy, and
1833             checking against the policy and then reporting violations.
1834         (WebCore::CSPDirectiveList::parsePluginTypes):
1835             Given a directive value, parse out the media types contained within
1836             by splitting on spaces, and validating each token. Valid tokens are
1837             added to 'm_pluginTypes' for use in 'checkPluginType'.
1838         (WebCore::CSPDirectiveList::addDirective):
1839             Wire up 'plugin-types' as a valid directive (if the ENABLE_CSP_NEXT
1840             flag is set). This has been combined with the other implemented 1.1
1841             header, 'script-nonce'.
1842         (WebCore::ContentSecurityPolicy::allowPluginType):
1843             The public interface to this set of functionality.
1844         * page/ContentSecurityPolicy.h:
1845
1846 2012-08-14  Charles Wei  <charles.wei@torchmobile.com.cn>
1847
1848         [BlackBerry] Enable DNS prefetch
1849         https://bugs.webkit.org/show_bug.cgi?id=93846
1850
1851         Reviewed by George Staikos.
1852
1853         No new tests.
1854
1855         * PlatformBlackBerry.cmake:
1856         * platform/blackberry/TemporaryLinkStubs.cpp:
1857         * platform/network/blackberry/DNSBlackBerry.cpp: Copied from Source/WebCore/platform/blackberry/TemporaryLinkStubs.cpp.
1858         (WebCore):
1859         (WebCore::prefetchDNS):
1860
1861 2012-08-14  Hans Wennborg  <hans@chromium.org>
1862
1863         Speech Input: wrong position was reported for scolled-down elements
1864         https://bugs.webkit.org/show_bug.cgi?id=93634
1865
1866         Reviewed by Kent Tamura.
1867
1868         When clicking on a speech-enabled input element, WebKit reports
1869         the position of the element to the embedder, so that it can show
1870         a bubble indicating that speech recognition is in progress for
1871         the element that the user clicked on.
1872
1873         On a page that was scrolled, this position was being reported
1874         erroneously: it was given relative to the frame content as opposed to
1875         the root view, and the in-progress bubble would be shown in the wrong
1876         place.
1877
1878         Test: fast/speech/bubble-position-scrolled.html
1879
1880         * html/shadow/TextControlInnerElements.cpp:
1881         (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
1882
1883 2012-08-14  Taiju Tsuiki  <tzik@chromium.org>
1884
1885         Web Inspector: Drop "Loading..." message from FileContentView
1886         https://bugs.webkit.org/show_bug.cgi?id=91732
1887
1888         Reviewed by Vsevolod Vlasov.
1889
1890         * inspector/front-end/FileContentView.js:
1891         (WebInspector.FileContentView.prototype.wasShown):
1892
1893 2012-08-14  Sheriff Bot  <webkit.review.bot@gmail.com>
1894
1895         Unreviewed, rolling out r125519.
1896         http://trac.webkit.org/changeset/125519
1897         https://bugs.webkit.org/show_bug.cgi?id=93945
1898
1899         New ref-tests caused image failures on chromium-mac bots.
1900         (Requested by yutak on #webkit).
1901
1902         * css/html.css:
1903         (meter):
1904         * html/HTMLMeterElement.cpp:
1905         (WebCore::HTMLMeterElement::HTMLMeterElement):
1906         (WebCore::HTMLMeterElement::createRenderer):
1907         (WebCore::HTMLMeterElement::didElementStateChange):
1908         (WebCore::HTMLMeterElement::createShadowSubtree):
1909         * html/HTMLMeterElement.h:
1910         (WebCore):
1911         (HTMLMeterElement):
1912         * html/shadow/MeterShadowElement.cpp:
1913         (WebCore::MeterShadowElement::meterElement):
1914         (WebCore::MeterShadowElement::rendererIsNeeded):
1915         (WebCore):
1916         * html/shadow/MeterShadowElement.h:
1917         (WebCore):
1918         * rendering/RenderMeter.cpp:
1919         (WebCore::RenderMeter::RenderMeter):
1920         (WebCore::RenderMeter::valueRatio):
1921         * rendering/RenderMeter.h:
1922         (RenderMeter):
1923
1924 2012-08-14  Keishi Hattori  <keishi@webkit.org>
1925
1926         Move page popup resources to separate directory
1927         https://bugs.webkit.org/show_bug.cgi?id=93932
1928
1929         Reviewed by Kent Tamura.
1930
1931         Keeping the resources organized.
1932
1933         No new tests.
1934
1935         * Resources/pagepopups/calendarPicker.css: Renamed from Source/WebCore/Resources/calendarPicker.css.
1936         * Resources/pagepopups/calendarPicker.js: Renamed from Source/WebCore/Resources/calendarPicker.js.
1937         * Resources/pagepopups/calendarPickerMac.css: Renamed from Source/WebCore/Resources/calendarPickerMac.css.
1938         * Resources/pagepopups/colorSuggestionPicker.css: Renamed from Source/WebCore/Resources/colorSuggestionPicker.css.
1939         * Resources/pagepopups/colorSuggestionPicker.js: Renamed from Source/WebCore/Resources/colorSuggestionPicker.js.
1940         * WebCore.gyp/WebCore.gyp:
1941
1942 2012-08-14  Yoshifumi Inoue  <yosin@chromium.org>
1943
1944         [Forms] Move wheel event handler to spin button class
1945         https://bugs.webkit.org/show_bug.cgi?id=93928
1946
1947         Reviewed by Kent Tamura.
1948
1949         This patch moves implmentation of wheel event handling from TextFieldInput
1950         class to SpinButtonElement class to share implementation in TextFieldInput
1951         class, and DateTimeEditElement.
1952
1953         No new tests. This patch doesn't change behavior. fast/orms/number/number-wheel.html
1954         covers this change.
1955
1956         * html/BaseDateAndTimeInputType.cpp: Removed handleWheelEvent() implementation.
1957         * html/BaseDateAndTimeInputType.h:
1958         (BaseDateAndTimeInputType): Removed handleWheelEvent() declaration.
1959         * html/HTMLInputElement.cpp:
1960         (WebCore::HTMLInputElement::defaultEventHandler): Removed wheel event handling.
1961         * html/InputType.cpp: Removed handleWheelEvent() implementation.
1962         * html/InputType.h:
1963         (InputType): Removed handleWheelEvent() declaration.
1964         * html/NumberInputType.cpp: Removed handleWheelEvent() implementation.
1965         * html/NumberInputType.h:
1966         (NumberInputType): Removed handleWheelEvent() declaration.
1967         * html/TextFieldInputType.cpp: Removed handleWheelEventForSpinButton() declaration.
1968         (WebCore::TextFieldInputType::forwardEvent): Changed to call SpinButtonElement::forwardEvent().
1969         * html/TextFieldInputType.h:
1970         (TextFieldInputType): Removed handleWheelEventForSpinButton() declaration.
1971         * html/shadow/TextControlInnerElements.cpp:
1972         (WebCore::SpinButtonElement::forwardEvent): Moved implementation of wheel event handling code
1973         from TextFieldInputType::handleWheelEventForSpinButton().
1974         * html/shadow/TextControlInnerElements.h:
1975         (SpinButtonElement): Added forwardEvent() declaration.
1976
1977 2012-08-14  Shinya Kawanaka  <shinyak@chromium.org>
1978
1979         AuthorShadowDOM for meter element
1980         https://bugs.webkit.org/show_bug.cgi?id=91970
1981
1982         Reviewed by Hajime Morita.
1983
1984         We add support for AuthorShadowDOM for a meter element.
1985
1986         According to the Shadow DOM spec, a meter element should behave like having a UserAgentShadowRoot and
1987         an element in UserAgentShadowRoot draws a real 'meter' bar. In this patch, we change the inner structure
1988         of a meter element so that we can distribute an element having RenderMeter to AuthorShadowDOM.
1989
1990         Before this patch, a meter element has the following inner structure.
1991
1992             <meter>--UserAgentShadowRoot -- -- -- -- -- -- -- -- -- -- AuthorShadowRoot
1993                                |
1994                                +-- MeterBarElement
1995                                |
1996                                +-- MeterValueElement
1997
1998         After this patch, a meter element will have the following inner structure.
1999
2000             <meter>--UserAgentShadowRoot -- -- -- -- -- -- -- -- -- -- AuthorShadowRoot
2001                                |
2002                                +-- MeterInnerElement
2003                                            |
2004                                            +-- MeterBarElement
2005                                            |
2006                                            +-- MeterValueElement
2007
2008         However, if RenderTheme supports rendering meter, MeterInnerElement will not create a renderer
2009         unless an AuthorShadowDOM is attached to it so that we can keep the current rendering style.
2010
2011         Tests: fast/dom/shadow/shadowdom-for-meter-dynamic.html
2012                fast/dom/shadow/shadowdom-for-meter-multiple.html
2013                fast/dom/shadow/shadowdom-for-meter-with-style.html
2014                fast/dom/shadow/shadowdom-for-meter-without-appearance.html
2015                fast/dom/shadow/shadowdom-for-meter-without-shadow-element.html
2016                fast/dom/shadow/shadowdom-for-meter.html
2017
2018         * css/html.css:
2019         (meter): Changed the display type. inline-box is not supported WebKit. inline-block is true.
2020         (meter::-webkit-meter-inner-element):
2021         * html/HTMLMeterElement.cpp:
2022         (WebCore::HTMLMeterElement::HTMLMeterElement):
2023         (WebCore::HTMLMeterElement::createRenderer):
2024         (WebCore):
2025         (WebCore::HTMLMeterElement::didElementStateChange):
2026         (WebCore::HTMLMeterElement::willAddAuthorShadowRoot):
2027         (WebCore::HTMLMeterElement::renderMeter):
2028         (WebCore::HTMLMeterElement::createShadowSubtree):
2029         * html/HTMLMeterElement.h:
2030         (WebCore):
2031         (WebCore::HTMLMeterElement::hasAuthorShadowRoot):
2032         (HTMLMeterElement):
2033         (WebCore::isHTMLMeterElement):
2034         (WebCore::toHTMLMeterElement):
2035         * html/shadow/MeterShadowElement.cpp:
2036         (WebCore::MeterShadowElement::meterElement):
2037         (WebCore::MeterShadowElement::rendererIsNeeded):
2038         (WebCore):
2039         (WebCore::MeterInnerElement::MeterInnerElement): We introduce a new element having RenderMeter
2040         so that we can distribute an element having RenderMeter to AuthorShadowDOM.
2041         (WebCore::MeterInnerElement::rendererIsNeeded): Different from a progress element, meter element will not be
2042         rendered using a theme. So we don't need to check the style appearance.
2043         (WebCore::MeterInnerElement::createRenderer):
2044         (WebCore::MeterInnerElement::shadowPseudoId):
2045         * html/shadow/MeterShadowElement.h:
2046         (WebCore):
2047         (MeterInnerElement):
2048         (WebCore::MeterInnerElement::create):
2049         * rendering/RenderMeter.cpp:
2050         (WebCore::RenderMeter::RenderMeter):
2051         (WebCore::RenderMeter::meterElement):
2052         (WebCore):
2053         (WebCore::RenderMeter::valueRatio):
2054         * rendering/RenderMeter.h:
2055         (RenderMeter):
2056
2057 2012-08-14  Christophe Dumez  <christophe.dumez@intel.com>
2058
2059         regression(r124510) webintents/web-intents-obj-constructor.html is crashing
2060         https://bugs.webkit.org/show_bug.cgi?id=93096
2061
2062         Reviewed by Kentaro Hara.
2063
2064         Add null-check for JSC::ExecState pointer in JSDictionary constructor
2065         before using it. The exec may indeed be null, thus causing crashes.
2066
2067         No new test, already tested by webintents/web-intents-obj-constructor.html
2068
2069         * bindings/js/JSDictionary.cpp:
2070         (WebCore::JSDictionary::tryGetProperty):
2071         (WebCore::JSDictionary::getWithUndefinedOrNullCheck):
2072         * bindings/js/JSDictionary.h:
2073         (WebCore::JSDictionary::JSDictionary):
2074
2075 2012-08-13  Keishi Hattori  <keishi@webkit.org>
2076
2077         Remove fade in transition from calendar picker
2078         https://bugs.webkit.org/show_bug.cgi?id=93816
2079
2080         Reviewed by Kent Tamura.
2081
2082         The fade in transition was incomplete because it was only fading in the
2083         popup content and not the popup itself. Removing the effect for now.
2084
2085         No new tests. Can't test animation.
2086
2087         * Resources/calendarPicker.css:
2088         (#main):
2089         * Resources/calendarPicker.js:
2090         (initialize):
2091         (fixWindowSize):
2092
2093 2012-08-13  Alex Christensen  <alex.christensen@flexsim.com>
2094
2095         WPARAM and LPARAM are incorrectly defined for x64
2096         https://bugs.webkit.org/show_bug.cgi?id=89902
2097
2098         Reviewed by Brent Fulgham.
2099
2100         Include WindowsExtras.h for PLATFORM(WIN) to define WPARAM and LPARAM correctly
2101         * platform/PlatformKeyboardEvent.h:
2102         * platform/PlatformMouseEvent.h:
2103         * platform/PlatformWheelEvent.h:
2104         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
2105         * platform/win/WindowMessageListener.h:
2106
2107 2012-08-13  John Bates  <jbates@google.com>
2108
2109         [Chromium] Patch CCThreadProxy to call setTimebaseAndInterval on CCScheduler
2110         https://bugs.webkit.org/show_bug.cgi?id=93918
2111
2112         Reviewed by James Robinson.
2113
2114         Also, update some trace events.
2115
2116         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
2117         (WebCore::CCDelayBasedTimeSource::setActive):
2118         * platform/graphics/chromium/cc/CCFrameRateController.cpp:
2119         (WebCore::CCFrameRateController::setActive):
2120         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2121         (WebCore::CCThreadProxy::onVSyncParametersChanged):
2122
2123 2012-08-13  Douglas Stockwell  <dstockwell@chromium.org>
2124
2125         Crash in WebCore::RenderBlock::LineBreaker::nextLineBreak
2126         https://bugs.webkit.org/show_bug.cgi?id=93806
2127
2128         Reviewed by Abhishek Arya.
2129
2130         When looking for line breaks on the first line, existing code was
2131         checking for text-combine only in the first-line style. Since
2132         text-combine isn't inherited this resulted in a line break being
2133         chosen before combineText was called. When this happened and then
2134         combineText was called subsequently, the position of the line break
2135         iterator would be invalid.
2136
2137         This patch changes the check to use the regular style as in
2138         skipLeadingWhitespace and textWidth.
2139
2140         Test: fast/text/text-combine-first-line-crash.html
2141
2142         * rendering/RenderBlockLineLayout.cpp:
2143         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Don't use the
2144         first-line style when checking text-combine.
2145
2146 2012-08-13  Kwang Yul Seo  <skyul@company100.net>
2147
2148         Remove unused method HTMLDocumentParser::script()
2149         https://bugs.webkit.org/show_bug.cgi?id=93916
2150
2151         Reviewed by Eric Seidel.
2152
2153         The use of HTMLDocumentParser::script() was removed in r61640 and has never been used since then.
2154
2155         No behavior change, so no new tests.
2156
2157         * html/parser/HTMLDocumentParser.cpp:
2158         * html/parser/HTMLDocumentParser.h:
2159
2160 2012-08-13  Tom Sepez  <tsepez@chromium.org>
2161
2162         [chromium] release FrameLoaderClientImpl::m_pluginWidget refptr upon Plugin Document detach.
2163         https://bugs.webkit.org/show_bug.cgi?id=93283
2164
2165         Reviewed by Eric Seidel.
2166
2167         Chromium has a refptr that needs to be NULLed at this point.
2168         
2169         The approach is to change the client redirectDataToPlugin method(s) to expect
2170         the possibility of a NULL argument, and the use this to clear the refptr on
2171         the chromium platform.  Other platforms can merely ignore the NULL case, thereby
2172         maintaining the existing behaviour.
2173
2174         Formal testing is nearly impossible without some chrome-specific plugins.
2175
2176         * html/PluginDocument.cpp:
2177         (WebCore::PluginDocument::detach):
2178
2179 2012-08-13  Eric Penner  <epenner@google.com>
2180
2181         [chromium] Paint animated layers immediately to avoid animation hiccups.
2182         https://bugs.webkit.org/show_bug.cgi?id=93028
2183
2184         Reviewed by Adrienne Walker.
2185
2186         This is a technique used on Android, which is very prone
2187         to hiccups in animations. Paint the entire layer if it is
2188         of reasonable size such that there is no hiccups when the
2189         animation reaches unpainted content. The reasonable size
2190         is choosen for page-transitions specifically, as this was
2191         the problem case (animations would just jump to the end).
2192
2193         Since we already have a special case this just modifies it
2194         and replaces the unit test with a new one. This can be
2195         improved/simplified further when distances/directions are
2196         available for the animated layers.
2197
2198         Replaced one test.
2199         Fixed bugs in and improved idlePaintNonVisibleLayers test.
2200
2201         * platform/graphics/chromium/TiledLayerChromium.cpp:
2202         (UpdatableTile):
2203         (WebCore::UpdatableTile::resetUpdateState):
2204         (WebCore::UpdatableTile::markForUpdate):
2205         (WebCore::UpdatableTile::UpdatableTile):
2206         (WebCore::TiledLayerChromium::TiledLayerChromium):
2207         (WebCore::TiledLayerChromium::pushPropertiesTo):
2208         (WebCore):
2209         (WebCore::TiledLayerChromium::updateTiles):
2210         (WebCore::TiledLayerChromium::markOcclusionsAndRequestTextures):
2211         (WebCore::TiledLayerChromium::haveTexturesForTiles):
2212         (WebCore::TiledLayerChromium::markTilesForUpdate):
2213         (WebCore::TiledLayerChromium::updateTileTextures):
2214         (WebCore::TiledLayerChromium::setTexturePrioritiesInRect):
2215         (WebCore::TiledLayerChromium::resetUpdateState):
2216         (WebCore::TiledLayerChromium::updateContentRect):
2217         (WebCore::TiledLayerChromium::needsIdlePaint):
2218         (WebCore::TiledLayerChromium::idlePaintRect):
2219         * platform/graphics/chromium/TiledLayerChromium.h:
2220         (TiledLayerChromium):
2221         * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
2222         (WebCore::CCLayerTilingData::contentRectToTileIndices):
2223         * platform/graphics/chromium/cc/CCPriorityCalculator.h:
2224         (WebCore::CCPriorityCalculator::maxPriority):
2225
2226 2012-08-13  Kentaro Hara  <haraken@chromium.org>
2227
2228         Unreviewed. Simple refactoring that I forgot to apply in r125495.
2229
2230         * bindings/v8/V8ThrowException.cpp:
2231         (WebCore::domExceptionStackGetter):
2232         (WebCore::domExceptionStackSetter):
2233         (WebCore::V8ThrowException::setDOMException):
2234         * bindings/v8/V8ThrowException.h:
2235
2236 2012-08-13  Ryuan Choi  <ryuan.choi@samsung.com>
2237
2238         [CMAKE][EFL] Fix build break with --tiled-backing-store
2239         https://bugs.webkit.org/show_bug.cgi?id=93487
2240
2241         Unreviewed build fix for Efl with --tiled-backing-store.
2242
2243         * CMakeLists.txt:
2244         Checked bison version and selected proper glslang files.
2245
2246 2012-08-12  Kentaro Hara  <haraken@chromium.org>
2247
2248         [V8] Factor out exception related methods of V8Proxy
2249         https://bugs.webkit.org/show_bug.cgi?id=93792
2250
2251         Reviewed by Adam Barth.
2252
2253         To remove V8Proxy, this patch factors out exception related methods of V8Proxy
2254         to a separate file.
2255
2256         (1) Move exception related methods from V8Proxy.{h,cpp} to V8ThrowException.{h,cpp}.
2257         (2) To avoid writing V8ThrowException::throwError() here and there in V8 binding,
2258         implement WebCore::throwError() in V8Binding.{h,cpp}. Ideally, we want to list up
2259         all V8 binding APIs in V8Binding.h.
2260         (3) Replace all V8Proxy::throwError() with throwError().
2261
2262         Nit: I couldn't write the definition of WebCore::throwError() in V8BInding.h
2263         due to circular dependency issues. Either way, these methods wouldn't be
2264         performance-critical.
2265
2266         No tests. No change in behavior.
2267
2268         * UseV8.cmake:
2269         * WebCore.gypi:
2270         * bindings/scripts/CodeGeneratorV8.pm:
2271         (GenerateNormalAttrGetter):
2272         (GenerateNormalAttrSetter):
2273         (GenerateOverloadedFunctionCallback):
2274         (GenerateFunctionCallback):
2275         (GenerateArgumentsCountCheck):
2276         (GenerateParametersCheck):
2277         (GenerateConstructorCallback):
2278         (GenerateEventConstructorCallback):
2279         (GenerateNamedConstructorCallback):
2280         (GenerateFunctionCallString):
2281         * bindings/scripts/test/V8/V8Float64Array.cpp:
2282         (WebCore::Float64ArrayV8Internal::fooCallback):
2283         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2284         (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
2285         (WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):
2286         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2287         (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):
2288         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2289         (WebCore::V8TestEventConstructor::constructorCallback):
2290         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2291         (WebCore::TestEventTargetV8Internal::itemCallback):
2292         (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
2293         * bindings/scripts/test/V8/V8TestInterface.cpp:
2294         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
2295         (WebCore::V8TestInterface::constructorCallback):
2296         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2297         (WebCore::TestMediaQueryListListenerV8Internal::methodCallback):
2298         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2299         (WebCore::V8TestNamedConstructorConstructorCallback):
2300         * bindings/scripts/test/V8/V8TestNode.cpp:
2301         (WebCore::V8TestNode::constructorCallback):
2302         * bindings/scripts/test/V8/V8TestObj.cpp:
2303         (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrGetter):
2304         (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrSetter):
2305         (WebCore::TestObjV8Internal::attrWithSetterExceptionAttrSetter):
2306         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
2307         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetter):
2308         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetter):
2309         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
2310         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetter):
2311         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
2312         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetter):
2313         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
2314         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
2315         (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
2316         (WebCore::TestObjV8Internal::MethodWithArgsCallback):
2317         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
2318         (WebCore::TestObjV8Internal::methodWithSequenceArgCallback):
2319         (WebCore::TestObjV8Internal::methodReturningSequenceCallback):
2320         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
2321         (WebCore::TestObjV8Internal::serializedValueCallback):
2322         (WebCore::TestObjV8Internal::idbKeyCallback):
2323         (WebCore::TestObjV8Internal::optionsObjectCallback):
2324         (WebCore::TestObjV8Internal::methodWithExceptionCallback):
2325         (WebCore::TestObjV8Internal::withScriptStateVoidExceptionCallback):
2326         (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
2327         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
2328         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgCallback):
2329         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
2330         (WebCore::TestObjV8Internal::methodWithCallbackArgCallback):
2331         (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
2332         (WebCore::TestObjV8Internal::methodWithCallbackAndOptionalArgCallback):
2333         (WebCore::TestObjV8Internal::overloadedMethod1Callback):
2334         (WebCore::TestObjV8Internal::overloadedMethod2Callback):
2335         (WebCore::TestObjV8Internal::overloadedMethod3Callback):
2336         (WebCore::TestObjV8Internal::overloadedMethod4Callback):
2337         (WebCore::TestObjV8Internal::overloadedMethod5Callback):
2338         (WebCore::TestObjV8Internal::overloadedMethod6Callback):
2339         (WebCore::TestObjV8Internal::overloadedMethod7Callback):
2340         (WebCore::TestObjV8Internal::overloadedMethod8Callback):
2341         (WebCore::TestObjV8Internal::overloadedMethod9Callback):
2342         (WebCore::TestObjV8Internal::overloadedMethod10Callback):
2343         (WebCore::TestObjV8Internal::overloadedMethodCallback):
2344         (WebCore::TestObjV8Internal::overloadedMethod11Callback):
2345         (WebCore::TestObjV8Internal::overloadedMethod12Callback):
2346         (WebCore::TestObjV8Internal::classMethodWithClampCallback):
2347         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Callback):
2348         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Callback):
2349         (WebCore::TestObjV8Internal::enabledPerContextMethod1Callback):
2350         (WebCore::TestObjV8Internal::enabledPerContextMethod2Callback):
2351         (WebCore::TestObjV8Internal::stringArrayFunctionCallback):
2352         (WebCore::TestObjV8Internal::getSVGDocumentCallback):
2353         (WebCore::TestObjV8Internal::convert1Callback):
2354         (WebCore::TestObjV8Internal::convert2Callback):
2355         (WebCore::TestObjV8Internal::convert3Callback):
2356         (WebCore::TestObjV8Internal::convert4Callback):
2357         (WebCore::TestObjV8Internal::convert5Callback):
2358         (WebCore::TestObjV8Internal::strictFunctionCallback):
2359         (WebCore::V8TestObj::constructorCallback):
2360         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2361         (WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListCallback):
2362         (WebCore::TestSerializedScriptValueInterfaceV8Internal::multiTransferListCallback):
2363         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
2364         * bindings/v8/DateExtension.cpp:
2365         (WebCore::DateExtension::OnSleepDetected):
2366         * bindings/v8/NPV8Object.cpp:
2367         (_NPN_SetException):
2368         * bindings/v8/SerializedScriptValue.cpp:
2369         (WebCore::SerializedScriptValue::transferArrayBuffers):
2370         (WebCore::SerializedScriptValue::SerializedScriptValue):
2371         * bindings/v8/V8Binding.cpp:
2372         (WebCore::setDOMException):
2373         (WebCore):
2374         (WebCore::throwError):
2375         (WebCore::throwTypeError):
2376         (WebCore::throwNotEnoughArgumentsError):
2377         * bindings/v8/V8Binding.h:
2378         (WebCore):
2379         (WebCore::toV8Sequence):
2380         * bindings/v8/V8Collection.cpp:
2381         (WebCore::toOptionsCollectionSetter):
2382         * bindings/v8/V8NPObject.cpp:
2383         (WebCore::npObjectInvokeImpl):
2384         (WebCore::npObjectGetProperty):
2385         (WebCore::npObjectSetProperty):
2386         (WebCore::npObjectPropertyEnumerator):
2387         * bindings/v8/V8NodeFilterCondition.cpp:
2388         (WebCore::V8NodeFilterCondition::acceptNode):
2389         * bindings/v8/V8Proxy.cpp:
2390         (WebCore::handleMaxRecursionDepthExceeded):
2391         (WebCore::V8Proxy::checkNewLegal):
2392         * bindings/v8/V8Proxy.h:
2393         (V8Proxy):
2394         (WebCore):
2395         * bindings/v8/V8ThrowException.cpp: Added.
2396         (WebCore):
2397         (WebCore::DOMExceptionStackGetter):
2398         (WebCore::DOMExceptionStackSetter):
2399         (WebCore::V8ThrowException::setDOMException):
2400         (WebCore::V8ThrowException::throwError):
2401         (WebCore::V8ThrowException::throwTypeError):
2402         (WebCore::V8ThrowException::throwNotEnoughArgumentsError):
2403         * bindings/v8/V8ThrowException.h: Added.
2404         (WebCore):
2405         (V8ThrowException):
2406         * bindings/v8/V8Utilities.cpp:
2407         (WebCore::extractTransferables):
2408         (WebCore::getMessagePortArray):
2409         (WebCore::setTypeMismatchException):
2410         * bindings/v8/WorkerContextExecutionProxy.cpp:
2411         (WebCore::WorkerContextExecutionProxy::evaluate):
2412         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
2413         (WebCore::V8ArrayBuffer::constructorCallback):
2414         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2415         (WebCore::constructWebGLArrayWithArrayBufferArgument):
2416         (WebCore::constructWebGLArray):
2417         (WebCore::setWebGLArrayHelper):
2418         * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp:
2419         (WebCore::V8AudioBufferSourceNode::bufferAccessorSetter):
2420         * bindings/v8/custom/V8AudioContextCustom.cpp:
2421         (WebCore::V8AudioContext::constructorCallback):
2422         * bindings/v8/custom/V8BlobCustom.cpp:
2423         (WebCore::V8Blob::constructorCallback):
2424         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
2425         (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
2426         * bindings/v8/custom/V8ClipboardCustom.cpp:
2427         (WebCore::V8Clipboard::clearDataCallback):
2428         (WebCore::V8Clipboard::setDragImageCallback):
2429         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
2430         (WebCore::V8DOMFormData::constructorCallback):
2431         (WebCore::V8DOMFormData::appendCallback):
2432         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
2433         (WebCore::V8DOMStringMap::namedPropertySetter):
2434         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2435         (WebCore::WindowSetTimeoutImpl):
2436         (WebCore::handlePostMessageCallback):
2437         * bindings/v8/custom/V8DataViewCustom.cpp:
2438         (WebCore::V8DataView::constructorCallback):
2439         (WebCore::V8DataView::getInt8Callback):
2440         (WebCore::V8DataView::getUint8Callback):
2441         (WebCore::V8DataView::setInt8Callback):
2442         (WebCore::V8DataView::setUint8Callback):
2443         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
2444         (WebCore::handlePostMessageCallback):
2445         * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
2446         (WebCore::V8DirectoryEntry::getDirectoryCallback):
2447         (WebCore::V8DirectoryEntry::getFileCallback):
2448         * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
2449         (WebCore::V8DirectoryEntrySync::getDirectoryCallback):
2450         (WebCore::V8DirectoryEntrySync::getFileCallback):
2451         * bindings/v8/custom/V8DocumentCustom.cpp:
2452         (WebCore::V8Document::evaluateCallback):
2453         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
2454         (WebCore::V8HTMLCanvasElement::toDataURLCallback):
2455         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2456         (WebCore::V8HTMLDocument::openCallback):
2457         * bindings/v8/custom/V8HTMLElementCustom.cpp:
2458         (WebCore::V8HTMLElement::itemValueAccessorSetter):
2459         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2460         (WebCore::v8HTMLImageElementConstructorCallback):
2461         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
2462         (WebCore::V8HTMLInputElement::selectionStartAccessorGetter):
2463         (WebCore::V8HTMLInputElement::selectionStartAccessorSetter):
2464         (WebCore::V8HTMLInputElement::selectionEndAccessorGetter):
2465         (WebCore::V8HTMLInputElement::selectionEndAccessorSetter):
2466         (WebCore::V8HTMLInputElement::selectionDirectionAccessorGetter):
2467         (WebCore::V8HTMLInputElement::selectionDirectionAccessorSetter):
2468         (WebCore::V8HTMLInputElement::setSelectionRangeCallback):
2469         * bindings/v8/custom/V8HTMLMediaElementCustom.cpp:
2470         (WebCore::V8HTMLMediaElement::controllerAccessorSetter):
2471         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2472         (WebCore::V8HTMLOptionsCollection::addCallback):
2473         (WebCore::V8HTMLOptionsCollection::lengthAccessorSetter):
2474         * bindings/v8/custom/V8HistoryCustom.cpp:
2475         (WebCore::V8History::pushStateCallback):
2476         (WebCore::V8History::replaceStateCallback):
2477         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2478         (WebCore::V8InjectedScriptHost::inspectedObjectCallback):
2479         * bindings/v8/custom/V8IntentConstructor.cpp:
2480         (WebCore::V8Intent::constructorCallback):
2481         * bindings/v8/custom/V8LocationCustom.cpp:
2482         (WebCore::V8Location::protocolAccessorSetter):
2483         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
2484         (WebCore::V8MessageChannel::constructorCallback):
2485         * bindings/v8/custom/V8MessagePortCustom.cpp:
2486         (WebCore::handlePostMessageCallback):
2487         * bindings/v8/custom/V8MutationObserverCustom.cpp:
2488         (WebCore::V8MutationObserver::constructorCallback):
2489         * bindings/v8/custom/V8NodeCustom.cpp:
2490         (WebCore::V8Node::insertBeforeCallback):
2491         (WebCore::V8Node::replaceChildCallback):
2492         (WebCore::V8Node::removeChildCallback):
2493         (WebCore::V8Node::appendChildCallback):
2494         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
2495         (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
2496         (WebCore::V8NotificationCenter::createNotificationCallback):
2497         (WebCore::V8NotificationCenter::requestPermissionCallback):
2498         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
2499         (WebCore::V8SQLResultSetRowList::itemCallback):
2500         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
2501         (WebCore::V8SQLTransaction::executeSqlCallback):
2502         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
2503         (WebCore::V8SQLTransactionSync::executeSqlCallback):
2504         * bindings/v8/custom/V8SVGLengthCustom.cpp:
2505         (WebCore::V8SVGLength::valueAccessorGetter):
2506         (WebCore::V8SVGLength::valueAccessorSetter):
2507         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
2508         * bindings/v8/custom/V8StorageCustom.cpp:
2509         (WebCore::storageSetter):
2510         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2511         (WebCore::getObjectParameter):
2512         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
2513         (WebCore::V8WebGLRenderingContext::getExtensionCallback):
2514         (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
2515         (WebCore::V8WebGLRenderingContext::getParameterCallback):
2516         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
2517         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
2518         (WebCore::V8WebGLRenderingContext::getUniformCallback):
2519         (WebCore::vertexAttribAndUniformHelperf):
2520         (WebCore::uniformHelperi):
2521         (WebCore::uniformMatrixHelper):
2522         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
2523         (WebCore::V8WebKitPoint::constructorCallback):
2524         * bindings/v8/custom/V8WebSocketCustom.cpp:
2525         (WebCore::V8WebSocket::constructorCallback):
2526         (WebCore::V8WebSocket::sendCallback):
2527         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2528         (WebCore::V8WorkerContext::importScriptsCallback):
2529         * bindings/v8/custom/V8WorkerCustom.cpp:
2530         (WebCore::handlePostMessageCallback):
2531         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
2532         (WebCore::V8XMLHttpRequest::constructorCallback):
2533         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2534         (WebCore::V8XMLHttpRequest::responseTextAccessorGetter):
2535         (WebCore::V8XMLHttpRequest::responseAccessorGetter):
2536         (WebCore::V8XMLHttpRequest::openCallback):
2537         (WebCore::V8XMLHttpRequest::sendCallback):
2538
2539 2012-08-13  Kentaro Hara  <haraken@chromium.org>
2540
2541         [V8] Move GCEventData class from V8Binding.h to ScriptGCEvent.h
2542         https://bugs.webkit.org/show_bug.cgi?id=93818
2543
2544         Reviewed by Adam Barth.
2545
2546         (1) This patch moves GCEventData class from V8Binding.h to ScriptGCEvent.h.
2547         (2) This patch makes GCEventData::startTime and GCEventData::usedHeapSize
2548         private members.
2549         (3) This patch removes unused forward declarations from V8Binding.h.
2550
2551         No tests. No change in behavior.
2552
2553         * bindings/v8/ScriptGCEvent.cpp:
2554         (WebCore::ScriptGCEvent::gcPrologueCallback):
2555         (WebCore::ScriptGCEvent::gcEpilogueCallback):
2556         * bindings/v8/ScriptGCEvent.h:
2557         (GCEventData):
2558         (WebCore::GCEventData::GCEventData):
2559         (WebCore::GCEventData::clear):
2560         (WebCore::GCEventData::listeners):
2561         (WebCore::GCEventData::startTime):
2562         (WebCore::GCEventData::setStartTime):
2563         (WebCore::GCEventData::usedHeapSize):
2564         (WebCore::GCEventData::setUsedHeapSize):
2565         (WebCore):
2566         * bindings/v8/V8Binding.h:
2567         (WebCore):
2568         * bindings/v8/V8PerIsolateData.cpp:
2569
2570 2012-08-13  Kentaro Hara  <haraken@chromium.org>
2571
2572         [V8] Move checkNewLegal() from V8Proxy.h to SafeAllocation.h
2573         https://bugs.webkit.org/show_bug.cgi?id=93830
2574
2575         Reviewed by Adam Barth.
2576
2577         This patch moves checkNewLegal() from V8Proxy.h to SafeAllocation.h.
2578         In addition, this patch renames checkNewLegal() to isValidConstructorMode()
2579         for clarification.
2580
2581         No tests. No change in behavior.
2582
2583         * UseV8.cmake:
2584         * WebCore.gypi:
2585         * bindings/v8/SafeAllocation.cpp: Added.
2586         * bindings/v8/SafeAllocation.h:
2587         (WebCore::SafeAllocation::newInstance):
2588         (WebCore):
2589         * bindings/v8/V8Binding.cpp:
2590         (WebCore::createRawTemplate):
2591         * bindings/v8/V8Proxy.cpp:
2592         * bindings/v8/V8Proxy.h:
2593         (V8Proxy):
2594
2595 2012-08-13  Kentaro Hara  <haraken@chromium.org>
2596
2597         [V8] Remove unused methods from V8Binding.h
2598         https://bugs.webkit.org/show_bug.cgi?id=93836
2599
2600         Reviewed by Adam Barth.
2601
2602         enableStringImplCache() and v8UndetectableString() are not used by anybody.
2603
2604         No tests. No change in behavior.
2605
2606         * bindings/v8/V8Binding.h:
2607
2608 2012-08-13  Kentaro Hara  <haraken@chromium.org>
2609
2610         [V8] Move hintForGCIfNecessary() from V8Proxy.h to V8GCController.h
2611         https://bugs.webkit.org/show_bug.cgi?id=93834
2612
2613         Reviewed by Adam Barth.
2614
2615         This patch moves hintForGCIfNecessary() from V8Proxy.h to V8GCController.h.
2616
2617         No tests. No change in behavior.
2618
2619         * bindings/v8/V8GCController.cpp:
2620         (WebCore::V8GCController::hintForGCIfNecessary):
2621         * bindings/v8/V8GCController.h:
2622         (V8GCController):
2623         * bindings/v8/V8Proxy.cpp:
2624         (WebCore::V8Proxy::clearForClose):
2625         (WebCore::V8Proxy::clearForNavigation):
2626         * bindings/v8/V8Proxy.h:
2627         (V8Proxy):
2628
2629 2012-08-13  Sheriff Bot  <webkit.review.bot@gmail.com>
2630
2631         Unreviewed, rolling out r124970.
2632         http://trac.webkit.org/changeset/124970
2633         https://bugs.webkit.org/show_bug.cgi?id=93495
2634
2635         Postponing the merge in a clearer context (Requested by
2636         Michelangelo on #webkit).
2637
2638         * css/CSSParser.cpp:
2639         (WebCore::CSSParser::parseValue):
2640         (WebCore::CSSParser::parseTransform):
2641         * css/CSSParser.h:
2642
2643 2012-08-12  Shawn Singh  <shawnsingh@chromium.org>
2644
2645         [chromium] renderSurface in incorrect space if owning layer has empty but non-zero bounds
2646         https://bugs.webkit.org/show_bug.cgi?id=93795
2647
2648         Reviewed by Adrienne Walker.
2649
2650         If a renderSurface is created by a layer that had zero
2651         area (empty) but non-zero bounds (either width or height was
2652         non-zero), then one translation transform was accidentally being
2653         skipped, causing the renderSurface drawTransform to be incorrect.
2654         The fix is simply to move that transform outside of the
2655         if-statement so it is not skipped.
2656
2657         Unit test added:
2658           CCLayerTreeHostCommonTest.verifyTransformsForDegenerateIntermediateLayer()
2659
2660         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2661         (WebCore::calculateDrawTransformsInternal):
2662
2663 2012-08-13  Kentaro Hara  <haraken@chromium.org>
2664
2665         [V8] Remove [TreatReturnedNullAs=False]
2666         https://bugs.webkit.org/show_bug.cgi?id=93835
2667
2668         Reviewed by Adam Barth.
2669
2670         [TreatReturnedNullAs=False] is neither defined in the Web IDL spec
2671         nor used in any WebKit IDL file.
2672
2673         No tests. No change in behavior.
2674
2675         * WebCore.order:
2676         * bindings/js/JSDOMBinding.cpp:
2677         * bindings/js/JSDOMBinding.h:
2678         (WebCore):
2679         * bindings/scripts/CodeGeneratorJS.pm:
2680         (NativeToJSValue):
2681         * bindings/scripts/CodeGeneratorV8.pm:
2682         (NativeToJSValue):
2683         * bindings/scripts/IDLAttributes.txt:
2684         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
2685         * bindings/scripts/test/CPP/WebDOMTestObj.h:
2686         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
2687         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
2688         * bindings/scripts/test/JS/JSTestObj.cpp:
2689         (WebCore):
2690         * bindings/scripts/test/JS/JSTestObj.h:
2691         (WebCore):
2692         * bindings/scripts/test/ObjC/DOMTestObj.h:
2693         * bindings/scripts/test/ObjC/DOMTestObj.mm:
2694         * bindings/scripts/test/TestObj.idl:
2695         * bindings/scripts/test/V8/V8TestObj.cpp:
2696         (WebCore::ConfigureV8TestObjTemplate):
2697         * bindings/v8/V8Binding.h:
2698
2699 2012-08-13  Kentaro Hara  <haraken@chromium.org>
2700
2701         [V8] Rename v8ValueToWebCoreDOMStringList() to toDOMStringList()
2702         https://bugs.webkit.org/show_bug.cgi?id=93839
2703
2704         Reviewed by Adam Barth.
2705
2706         For naming consistency with toWebCoreString() and toWebCoreAtomicString(),
2707         this patch renames v8ValueToWebCoreDOMStringList() to toDOMStringList().
2708         ("WebCore" wouldn't be needed because it's clear from "DOMStringList".)
2709
2710         No tests. No change in behavior.
2711
2712         * bindings/scripts/CodeGeneratorV8.pm:
2713         (JSValueToNative):
2714         * bindings/scripts/test/V8/V8TestObj.cpp:
2715         (WebCore::TestObjV8Internal::overloadedMethod6Callback):
2716         (WebCore::TestObjV8Internal::overloadedMethod7Callback):
2717         (WebCore::TestObjV8Internal::overloadedMethod9Callback):
2718         (WebCore::TestObjV8Internal::stringArrayFunctionCallback):
2719         * bindings/v8/V8Binding.cpp:
2720         (WebCore::toDOMStringList):
2721         * bindings/v8/V8Binding.h:
2722         (WebCore):
2723
2724 2012-08-13  Kentaro Hara  <haraken@chromium.org>
2725
2726         [V8] Rename v8ValueToAtomicWebCoreString() to toWebCoreAtomicString()
2727         https://bugs.webkit.org/show_bug.cgi?id=93824
2728
2729         Reviewed by Adam Barth.
2730
2731         For naming consistency with toWebCoreString(), we can rename
2732         v8ValueToAtomicWebCoreString() to toWebCoreAtomicString().
2733         Also we can rename v8ValueToAtomicWebCoreStringWithNullCheck()
2734         to toWebCoreAtomicStringWithNullCheck().
2735
2736         No tests. No change in behavior.
2737
2738         * bindings/scripts/CodeGeneratorV8.pm:
2739         (GenerateNormalAttrSetter):
2740         (GenerateEventListenerCallback):
2741         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2742         (WebCore::TestEventTargetV8Internal::addEventListenerCallback):
2743         (WebCore::TestEventTargetV8Internal::removeEventListenerCallback):
2744         * bindings/scripts/test/V8/V8TestObj.cpp:
2745         (WebCore::TestObjV8Internal::addEventListenerCallback):
2746         (WebCore::TestObjV8Internal::removeEventListenerCallback):
2747         * bindings/v8/V8Binding.cpp:
2748         (WebCore::toWebCoreAtomicString):
2749         * bindings/v8/V8Binding.h:
2750         (WebCore::toWebCoreStringWithNullOrUndefinedCheck):
2751         (WebCore::toWebCoreAtomicStringWithNullCheck):
2752         * bindings/v8/V8Collection.h:
2753         (WebCore::getNamedPropertyOfCollection):
2754         * bindings/v8/V8DOMWindowShell.cpp:
2755         (WebCore::getter):
2756         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2757         (WebCore::V8DOMWindow::namedPropertyGetter):
2758         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
2759         (WebCore::V8HTMLAllCollection::namedPropertyGetter):
2760         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
2761         (WebCore::V8HTMLCollection::namedPropertyGetter):
2762         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
2763         (WebCore::V8HTMLFormElement::namedPropertyGetter):
2764         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
2765         (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
2766         * bindings/v8/custom/V8NodeListCustom.cpp:
2767         (WebCore::V8NodeList::namedPropertyGetter):
2768
2769 2012-08-13  Kentaro Hara  <haraken@chromium.org>
2770
2771         [V8] Remove v8ValueToWebCoreString()
2772         https://bugs.webkit.org/show_bug.cgi?id=93822
2773
2774         Reviewed by Adam Barth.
2775
2776         There are two equivalent ways to convert a V8 value to a WebCore String;
2777         i.e. v8ValueToWebCoreString() and toWebCoreString(). We can remove the former.
2778
2779         In a follow-up patch, I will replace v8ValueToAtomicWebCoreString()
2780         with toWebCoreAtomicString(), for consistency with toWebCoreString().
2781
2782         No tests. No change in behavior.
2783
2784         * bindings/v8/Dictionary.cpp:
2785         (WebCore::Dictionary::get):
2786         (WebCore::Dictionary::getWithUndefinedOrNullCheck):
2787         (WebCore::Dictionary::getOwnPropertiesAsStringHashMap):
2788         * bindings/v8/IDBBindingUtilities.cpp:
2789         (WebCore::createIDBKeyFromValue):
2790         * bindings/v8/ScriptDebugServer.cpp:
2791         (WebCore::ScriptDebugServer::setBreakpoint):
2792         * bindings/v8/V8Binding.cpp:
2793         (WebCore::toWebCoreString):
2794         (WebCore::v8ValueToWebCoreDOMStringList):
2795         * bindings/v8/V8Binding.h:
2796         (WebCore::toWebCoreStringWithNullCheck):
2797         * bindings/v8/custom/V8MessageEventCustom.cpp:
2798         (WebCore::V8MessageEvent::initMessageEventCallback):
2799
2800 2012-08-13  Kentaro Hara  <haraken@chromium.org>
2801
2802         [V8] Move the ConstructorMode class from V8Binding.h to SafeAllocation.h
2803         https://bugs.webkit.org/show_bug.cgi?id=93821
2804
2805         Reviewed by Adam Barth.
2806
2807         This patch factors out the ConstructorMode class from V8Binding.h to SafeAllocation.h.
2808
2809         No tests. No change in behavior.
2810
2811         * bindings/v8/SafeAllocation.h:
2812         (ConstructorMode):
2813         (WebCore::ConstructorMode::ConstructorMode):
2814         (WebCore::ConstructorMode::~ConstructorMode):
2815         (WebCore::ConstructorMode::current):
2816         (WebCore):
2817         * bindings/v8/V8Binding.h:
2818         * bindings/v8/V8RecursionScope.h:
2819
2820 2012-08-13  Kentaro Hara  <haraken@chromium.org>
2821
2822         [V8] Remove V8BindingHelpers
2823         https://bugs.webkit.org/show_bug.cgi?id=93807
2824
2825         Reviewed by Adam Barth.
2826
2827         V8BindingHelpers contains toV8Context() and toV8Proxy(), which are used
2828         by NPV8Object.cpp only.
2829
2830         (1) Move these methods to NPV8Object.cpp as static methods.
2831         (2) Remove V8BindingHelpers.{h,cpp}.
2832
2833         No tests. No change in behavior.
2834
2835         * UseV8.cmake:
2836         * WebCore.gypi:
2837         * bindings/v8/NPV8Object.cpp:
2838         (WebCore::toV8Context):
2839         (WebCore):
2840         (WebCore::toV8Proxy):
2841         * bindings/v8/V8Binding.h:
2842         * bindings/v8/V8BindingHelpers.cpp: Removed.
2843         * bindings/v8/V8BindingHelpers.h: Removed.
2844
2845 2012-08-13  Kentaro Hara  <haraken@chromium.org>
2846
2847         [V8] Remove unused methods and headers from V8Utilities
2848         https://bugs.webkit.org/show_bug.cgi?id=93805
2849
2850         Reviewed by Adam Barth.
2851
2852         This patch removes unused methods, forward declarations and
2853         headers from V8Utilities.{h,cpp}.
2854
2855         No tests. No change in behavior.
2856
2857         * bindings/v8/V8Utilities.cpp:
2858         * bindings/v8/V8Utilities.h:
2859         (WebCore):
2860
2861 2012-08-13  Kentaro Hara  <haraken@chromium.org>
2862
2863         [V8] Move V8PerIsolateData::visitExternalStrings() to V8PerIsolateData.cpp
2864         https://bugs.webkit.org/show_bug.cgi?id=93803
2865
2866         Reviewed by Adam Barth.
2867
2868         In r125015, I forgot to move V8PerIsolateData::visitExternalStrings()
2869         to V8PerIsolateData.cpp. This patch moves it.
2870
2871         No tests. No change in behavior.
2872
2873         * bindings/v8/V8Binding.cpp:
2874         * bindings/v8/V8PerIsolateData.cpp:
2875         (WebCore):
2876         (WebCore::V8PerIsolateData::visitExternalStrings):
2877
2878 2012-08-13  Elliott Sprehn  <esprehn@chromium.org>
2879
2880         Expand list of supported languages for RenderQuote to match WHATWG spec
2881         https://bugs.webkit.org/show_bug.cgi?id=93424
2882
2883         Reviewed by Eric Seidel.
2884
2885         Expand the table of quotes to include the 148 lang values and associated quotes
2886         from the WHATWG web-apps recommended styling spec.
2887
2888         Test: fast/css-generated-content/quotes-lang-case-insensitive.html
2889
2890         * rendering/RenderQuote.cpp: Added missing copyright.
2891         (WebCore::quotesDataLanguageMap): Expanded the table of quotes.
2892         (WebCore::basicQuotesData): Added a FIXME to switch to using stylized "en" quotes.
2893         * rendering/RenderQuote.h: Added missing copyright.
2894
2895 2012-08-09  Kentaro Hara  <haraken@chromium.org>
2896
2897         [V8] Remove evaluateInIsolatedWorld() from V8Proxy
2898         https://bugs.webkit.org/show_bug.cgi?id=93679
2899
2900         Reviewed by Adam Barth.
2901
2902         To remove V8Proxy, this patch moves V8Proxy::evaluateInIsolatedWorld()
2903         to ScriptController.
2904
2905         No tests. No change in behavior.
2906
2907         * bindings/v8/ScriptController.cpp:
2908         (WebCore::ScriptController::evaluateInIsolatedWorld):
2909         * bindings/v8/V8Proxy.cpp:
2910         (WebCore::V8Proxy::precompileScript):
2911
2912 2012-08-13  Bear Travis  <betravis@adobe.com>
2913
2914         [CSS Exclusions] Remove unused CSSWrapShapes header includes
2915         https://bugs.webkit.org/show_bug.cgi?id=93395
2916
2917         Reviewed by Kentaro Hara.
2918
2919         Removing the #include "CSSWrapShapes.h" lines from StyleBuilder.cpp and
2920         RenderStyle.cpp. Both files now use the length-based WrapShapes.h classes.
2921
2922         * css/StyleBuilder.cpp:
2923         * rendering/style/RenderStyle.cpp:
2924
2925 2012-08-13  Pravin D  <pravind.2k4@gmail.com>
2926
2927         Bad cast in RenderBox::computeReplacedLogicalHeightUsing
2928         https://bugs.webkit.org/show_bug.cgi?id=93875
2929
2930         Reviewed by Abhishek Arya.
2931
2932         Pointer to the container of a replaced element was being type casted to renderbox
2933         without checking if the container is a renderbox or not.
2934
2935         Test: fast/replaced/render-inline-cast-to-render-box-crash.html
2936
2937         * rendering/RenderBox.cpp:
2938         (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
2939          Scrollbar height is retrieved only if the container is a renderBox. Otherwise scrollbar is taken as zero.
2940
2941 2012-08-13  James Robinson  <jamesr@chromium.org>
2942
2943         [chromium] Make WebAnimation a pure virtual interface to hide implementation and avoid unresolved symbols
2944         https://bugs.webkit.org/show_bug.cgi?id=93907
2945
2946         Reviewed by Darin Fisher.
2947
2948         Updates WebAnimation users for interface changes.
2949
2950         * platform/graphics/chromium/AnimationTranslationUtil.cpp:
2951         (WebCore::createWebAnimation):
2952         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2953         (WebCore::GraphicsLayerChromium::addAnimation):
2954
2955 2012-08-11  Raphael Kubo da Costa  <rakuco@webkit.org>
2956
2957         [CMake] Rewrite FindLibSoup2.cmake.
2958         https://bugs.webkit.org/show_bug.cgi?id=93191
2959
2960         Reviewed by Rob Buis.
2961
2962         * PlatformEfl.cmake: Use LIBSOUP_FOO instead of LIBSOUP24_FOO,
2963         also link against GObject, which is needed by libsoup.
2964
2965 2012-08-10  James Robinson  <jamesr@chromium.org>
2966
2967         [chromium] Clean up dependencies for Canvas2DLayerBridgeTest and GraphicsLayerChromiumTest unit tests
2968         https://bugs.webkit.org/show_bug.cgi?id=93757
2969
2970         Reviewed by Adrienne Walker.
2971
2972         Exposes the current contentsScale for tests.
2973
2974         * platform/graphics/chromium/GraphicsLayerChromium.h:
2975         (GraphicsLayerChromium):
2976
2977 2012-08-13  Andreas Kling  <kling@webkit.org>
2978
2979         Reduce the size of empty NinePieceImage objects.
2980         <http://webkit.org/b/93747>
2981
2982         Reviewed by Antti Koivisto.
2983
2984         Move the members of NinePieceImage into a NinePieceImageData class, leaving NinePieceImage
2985         with a single OwnPtr<NinePieceImageData> member. The constant NinePieceImage::defaultData()
2986         provides default values for objects with null m_data.
2987
2988         RenderStyle's "StyleSurroundData" member has a BorderData, which in turn holds a NinePieceImage.
2989         This means that anything with left/right/top/bottom, margin, padding or border style but *no*
2990         border-image will save 104 bytes (assuming their RenderStyle is unshared, which is fairly common.)
2991
2992         This reduces the size of StyleSurroundData by 104 bytes, effectively reducing memory consumption
2993         by 1.72MB when viewing the full HTML5 spec at <http://whatwg.org/c>
2994
2995         * rendering/style/NinePieceImage.cpp:
2996         (WebCore::NinePieceImageData::operator==):
2997         (WebCore::NinePieceImage::defaultData):
2998         (WebCore):
2999         * rendering/style/NinePieceImage.h:
3000         (WebCore::NinePieceImageData::NinePieceImageData):
3001         (NinePieceImageData):
3002         (WebCore::NinePieceImageData::operator!=):
3003         (WebCore):
3004         (NinePieceImage):
3005         (WebCore::NinePieceImage::NinePieceImage):
3006         (WebCore::NinePieceImage::operator=):
3007         (WebCore::NinePieceImage::operator==):
3008         (WebCore::NinePieceImage::operator!=):
3009         (WebCore::NinePieceImage::hasImage):
3010         (WebCore::NinePieceImage::image):
3011         (WebCore::NinePieceImage::setImage):
3012         (WebCore::NinePieceImage::imageSlices):
3013         (WebCore::NinePieceImage::setImageSlices):
3014         (WebCore::NinePieceImage::fill):
3015         (WebCore::NinePieceImage::setFill):
3016         (WebCore::NinePieceImage::borderSlices):
3017         (WebCore::NinePieceImage::setBorderSlices):
3018         (WebCore::NinePieceImage::outset):
3019         (WebCore::NinePieceImage::setOutset):
3020         (WebCore::NinePieceImage::horizontalRule):
3021         (WebCore::NinePieceImage::setHorizontalRule):
3022         (WebCore::NinePieceImage::verticalRule):
3023         (WebCore::NinePieceImage::setVerticalRule):
3024         (WebCore::NinePieceImage::copyImageSlicesFrom):
3025         (WebCore::NinePieceImage::copyBorderSlicesFrom):
3026         (WebCore::NinePieceImage::copyOutsetFrom):
3027         (WebCore::NinePieceImage::copyRepeatFrom):
3028         (WebCore::NinePieceImage::setMaskDefaults):
3029         (WebCore::NinePieceImage::ensureData):
3030         (WebCore::NinePieceImage::data):
3031
3032 2012-08-13  Florin Malita  <fmalita@chromium.org>
3033
3034         WebKit+SVG does not support color-interpolation-filters or draw filters in correct colorspace
3035         https://bugs.webkit.org/show_bug.cgi?id=6033
3036
3037         Reviewed by Dirk Schulze.
3038
3039         This patch adds support for SVG color-interpolation-filters. All non-CG plarforms now
3040         perform color space conversions as needed (CG performs color space adjustments internally),
3041         and the new default color space for filters is linearRGB
3042         (http://www.w3.org/TR/SVG/filters.html#FilterPrimitivesOverviewIntro).
3043
3044         FilterEffect tracks the color-interpolation-filters attribute (m_colorSpace) and the
3045         current result color space (m_resultColorSpace). When applying, the input results are
3046         converted to the current FilterEffect's color space, and at the end of the filter effect
3047         chain the result is finally converted to ColorSpaceDeviceRGB.
3048
3049         FilterEffect::transformResultColorSpace() handles non-CG color space converion (CG has
3050         built in support for different color spaces) by first converting the result to an image
3051         buffer, and then using the platform specific ImageBuffer::transformColorSpace(). This can
3052         be expensive for filter chains with alternating color-interpolation-filters, but can be
3053         optimized if/when color space support is added to all the graphics backends similarly to CG.
3054
3055         As expected, lots of filter-related pixel results will require rebaselining after this lands.
3056
3057         Test: svg/filters/color-interpolation-filters.svg
3058
3059         * platform/graphics/filters/FilterEffect.cpp:
3060         (WebCore::FilterEffect::FilterEffect):
3061         (WebCore::FilterEffect::apply):
3062         (WebCore::FilterEffect::asImageBuffer):
3063         (WebCore::FilterEffect::createImageBufferResult):
3064         (WebCore::FilterEffect::transformResultColorSpace):
3065         (WebCore):
3066         * platform/graphics/filters/FilterEffect.h:
3067         (WebCore::FilterEffect::colorSpace):
3068         (WebCore::FilterEffect::setColorSpace):
3069         (FilterEffect):
3070         * platform/graphics/filters/SourceGraphic.h:
3071         (WebCore::SourceGraphic::SourceGraphic):
3072         * rendering/FilterEffectRenderer.cpp:
3073         (WebCore::FilterEffectRenderer::apply):
3074         * rendering/svg/RenderSVGResourceFilter.cpp:
3075         (WebCore::RenderSVGResourceFilter::buildPrimitives):
3076         (WebCore::RenderSVGResourceFilter::postApplyResource):
3077
3078 2012-08-13  Raymond Toy  <rtoy@google.com>
3079
3080         Oscillator node should throw exception if type is assigned an invalid value
3081         https://bugs.webkit.org/show_bug.cgi?id=93490
3082
3083         Reviewed by Chris Rogers.
3084
3085         New tests added to oscillator-basic to catch exceptions.
3086
3087         * Modules/webaudio/Oscillator.cpp:
3088         (WebCore::Oscillator::Oscillator):
3089         (WebCore::Oscillator::setType): Return exception
3090         * Modules/webaudio/Oscillator.h:
3091         (Oscillator): Update setType declaration
3092         * Modules/webaudio/Oscillator.idl: setType can raise exception.
3093
3094 2012-08-13  Chris Rogers  <crogers@google.com>
3095
3096         AudioContext::createMediaStreamSource() must create a provider for local MediaStreams
3097         https://bugs.webkit.org/show_bug.cgi?id=93756
3098
3099         Reviewed by Eric Carlson.
3100
3101         There are two main kinds of MediaStreams (local and from remote peers).
3102         Internally we need to know the difference so a MediaStreamAudioSourceNode will "just work".
3103
3104         Tested by existing test: mediastreamaudiosourcenode.html
3105         Full testing can only be verified by manual tests.
3106
3107         * Modules/mediastream/LocalMediaStream.h:
3108         (LocalMediaStream):
3109         * Modules/mediastream/MediaStream.h:
3110         (WebCore::MediaStream::isLocal):
3111         (MediaStream):
3112         * Modules/webaudio/AudioContext.cpp:
3113         (WebCore::AudioContext::createMediaStreamSource):
3114
3115 2012-08-13  Simon Hausmann  <simon.hausmann@nokia.com>
3116
3117         Unreviewed, rolling out r125444.
3118         http://trac.webkit.org/changeset/125444
3119         https://bugs.webkit.org/show_bug.cgi?id=93872
3120
3121         Broke some tests
3122
3123         * bridge/qt/qt_runtime.cpp:
3124         (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod):
3125         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
3126         * bridge/qt/qt_runtime.h:
3127         (QtRuntimeMethod):
3128
3129 2012-08-13  Thiago Marcos P. Santos  <thiago.santos@intel.com>
3130
3131         CanvasRenderContext2D::font() does not re-serialize the font
3132         https://bugs.webkit.org/show_bug.cgi?id=50859
3133
3134         Reviewed by Kenneth Rohde Christiansen.
3135
3136         Added proper serialization for the font property.
3137
3138         No new tests, unskipped the existing ones.
3139
3140         * html/canvas/CanvasRenderingContext2D.cpp:
3141         (WebCore::CanvasRenderingContext2D::font):
3142
3143 2012-08-13  Elliott Sprehn  <esprehn@chromium.org>
3144
3145         CSS quotes output quotes when depth is negative
3146         https://bugs.webkit.org/show_bug.cgi?id=92690
3147
3148         Reviewed by Eric Seidel.
3149
3150         Previously if the quote depth would go negative we would output the close quote from the
3151         first pair of quotes again instead of outputting no quotes as required by the spec.
3152  
3153         See: http://www.w3.org/TR/CSS21/generate.html#quotes-insert
3154
3155         Test: fast/css-generated-content/nested-quote-more-than-pairs.html
3156
3157         * rendering/RenderQuote.cpp:
3158         (WebCore::RenderQuote::originalText): Allow the value passed to getOpenQuote to go negative by removing std::max.
3159         * rendering/style/QuotesData.cpp:
3160         (WebCore::QuotesData::getOpenQuote): Bounds check for negative values for safety.
3161         (WebCore::QuotesData::getCloseQuote): Allow index to be >= -1 and return an empty string for -1.
3162
3163 2012-08-13  Vangelis Kokkevis  <vangelis@chromium.org>
3164
3165         [chromium] Clear HUD canvas contents before drawing into it.
3166         https://bugs.webkit.org/show_bug.cgi?id=93759
3167
3168         Reviewed by Adrienne Walker.
3169
3170         Not clearing the bitmaps before drawing into it results into
3171         random noise. This patch also caches the SkCanvas used by the HUD
3172         to avoid reallocating it every frame.
3173
3174         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
3175         (WebCore::CCHeadsUpDisplayLayerImpl::willDraw):
3176         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h:
3177
3178 2012-08-13  Simon Hausmann  <simon.hausmann@nokia.com>
3179
3180         [Qt] Replace use of internal Weak smart pointer with JSWeakObjectMap
3181         https://bugs.webkit.org/show_bug.cgi?id=93872
3182
3183         Reviewed by Kenneth Rohde Christiansen.
3184
3185         The intention of this patch series is to replace use of internal JSC
3186         API with use of the stable and public C API.
3187
3188         The JSC::Weak template is internal API and the only part of the C API
3189         that exposes similar functionality is the JSWeakObjectMap. It is
3190         special in the sense that its life-time is tied to the life-time of the
3191         JS global object, which in turn is subject to garbage collection. In
3192         order to maximize re-use of the same map across different JSContextRef
3193         instances, we use the associated global context ref as owner of the
3194         weak maps. The key in the weak map is the identity (pointer) of the
3195         runtime method object itself.  The iteration through the maps is
3196         tedious, but should usually not go beyond just a few.
3197
3198         * bridge/qt/qt_runtime.cpp:
3199         (Bindings):
3200         (JSC::Bindings::methodMapCleaner):
3201         (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod):
3202         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
3203         * bridge/qt/qt_runtime.h:
3204         (QtRuntimeMethod):
3205
3206 2012-08-13  Raphael Kubo da Costa  <rakuco@webkit.org>
3207
3208         [CMake] Remove glib-related Find modules and write single new one instead.
3209         https://bugs.webkit.org/show_bug.cgi?id=93786
3210
3211         Reviewed by Rob Buis.
3212
3213         No new tests, build system plumbing.
3214
3215         * PlatformEfl.cmake: Use GLIB_* instead of Glib_*, and link
3216         directly against GIO, as code in the soup network backend uses
3217         that.
3218
3219 2012-08-13  Simon Hausmann  <simon.hausmann@nokia.com>
3220
3221         [Qt] Simplify storage and reduce size of QtConnectionObject
3222         https://bugs.webkit.org/show_bug.cgi?id=93868
3223
3224         Reviewed by Kenneth Rohde Christiansen.
3225
3226         The connection object is a child of the sender QObject, so we can use parent()
3227         whenever we need the sender instead of keeping an extra QObject pointer. Also
3228         QtConnectionObject kept a RefPtr to the Instance, but actually only needed the
3229         root object, so we can store a pointer to that instead.
3230
3231         * bridge/qt/qt_runtime.cpp:
3232         (JSC::Bindings::QtConnectionObject::QtConnectionObject):
3233         (JSC::Bindings::QtConnectionObject::~QtConnectionObject):
3234         (JSC::Bindings::QtConnectionObject::execute):
3235         (JSC::Bindings::QtConnectionObject::match):
3236         * bridge/qt/qt_runtime.h:
3237         (QtConnectionObject):
3238
3239 2012-08-13  Zan Dobersek  <zandobersek@gmail.com>
3240
3241         Media(Stream|Element)AudioSourceNode should be guarded by the WEB_AUDIO condition as well
3242         https://bugs.webkit.org/show_bug.cgi?id=93864
3243
3244         Reviewed by Eric Carlson.
3245
3246         Add the WEB_AUDIO to the Conditional attribute in MediaElementAudioSourceNode
3247         IDL file and the ENABLE(WEB_AUDIO) compilation guard to the header files for both
3248         MediaStreamAudioSourceNode and MediaElementAudioSourceNode.
3249
3250         No new tests - no new functionality.
3251
3252         * Modules/webaudio/MediaElementAudioSourceNode.h:
3253         * Modules/webaudio/MediaStreamAudioSourceNode.h:
3254         * Modules/webaudio/MediaStreamAudioSourceNode.idl:
3255
3256 2012-08-13  Simon Hausmann  <simon.hausmann@nokia.com>
3257
3258         [Qt] Clean up exception handling
3259         https://bugs.webkit.org/show_bug.cgi?id=93880
3260
3261         Reviewed by Kenneth Rohde Christiansen.
3262
3263         The JSC C API uses a JSValueRef* exception parameter to indicate to the
3264         caller that an exception was thrown. Naturally the caller must store
3265         that ValueRef on the stack in order to get seen and marked by the
3266         garbage collector, otherwise the callee would have to use
3267         JSValueProtect on it.
3268
3269         This patch fixes one such case where in fact the exception pointer was passed as zero to the
3270         callee and thus ignored. The patch also removes an unused exception parameter.
3271
3272         * bridge/qt/qt_class.cpp:
3273         (JSC::Bindings::QtClass::fallbackObject):
3274         * bridge/qt/qt_runtime.cpp:
3275         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
3276         * bridge/qt/qt_runtime.h:
3277
3278 2012-08-13  Pavel Feldman  <pfeldman@chromium.org>
3279
3280         Web Inspector: remove commitEditing from the text editor delegate.
3281         https://bugs.webkit.org/show_bug.cgi?id=93858
3282
3283         Reviewed by Vsevolod Vlasov.
3284
3285         This should be up to the source frame.
3286
3287         * inspector/front-end/DefaultTextEditor.js:
3288         (WebInspector.DefaultTextEditor.prototype._registerShortcuts):
3289         * inspector/front-end/SourceFrame.js:
3290         (WebInspector.SourceFrame):
3291         (WebInspector.SourceFrame.prototype.scrollChanged):
3292         (WebInspector.SourceFrame.prototype._handleKeyDown):
3293         (WebInspector.SourceFrame.prototype._commitEditing):
3294         * inspector/front-end/TextEditor.js:
3295
3296 2012-08-13  Sheriff Bot  <webkit.review.bot@gmail.com>
3297
3298         Unreviewed, rolling out r125430.
3299         http://trac.webkit.org/changeset/125430
3300         https://bugs.webkit.org/show_bug.cgi?id=93881
3301
3302         Caused css2.1/t1604-c541-word-sp-00-b-a.html to regress on Mac
3303         builds (Requested by mwenge on #webkit).
3304
3305         * platform/graphics/WidthIterator.cpp:
3306         (WebCore::WidthIterator::advance):
3307         * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
3308         (WebCore::HarfBuzzShaperBase::isWordEnd):
3309         * platform/graphics/harfbuzz/HarfBuzzShaperBase.h:
3310         (HarfBuzzShaperBase):
3311         (WebCore::HarfBuzzShaperBase::isCodepointSpace):
3312         * platform/graphics/mac/ComplexTextController.cpp:
3313         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
3314         * rendering/RenderBlockLineLayout.cpp:
3315         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
3316         * rendering/RenderText.cpp:
3317         (WebCore::RenderText::widthFromCache):
3318
3319 2012-08-13  Mike West  <mkwst@chromium.org>
3320
3321         FrameLoader::receivedMainResourceError doesn't handle GET cancellations well.
3322         https://bugs.webkit.org/show_bug.cgi?id=93850
3323
3324         Reviewed by Adam Barth.
3325
3326         'FrameLoader::cancel' should reset the loader's state, and it mostly
3327         does. In the case of a GET form submission, however, the submitted form
3328         URL that's stored doesn't match the URL that's requested (query string).
3329         This leads to the loader getting a bit confused about what's going on,
3330         and not clearing the stored form submission URL.
3331
3332         This patch moves to storing the form submission's actual request URL
3333         as opposed to the form action URL.
3334
3335         None of the current tests should break, and when issue 93777 lands, it
3336         won't be broken either.
3337
3338         * loader/FrameLoader.cpp:
3339         (WebCore::FrameLoader::submitForm):
3340             Switched to using 'FormSubmission::requestURL', as that matches the
3341             URL that's actually requested during a form submission via GET.
3342
3343 2012-08-13  Antonio Gomes  <agomes@rim.com>
3344
3345         [BlackBerry] Hardware accelerated scrolling of <select> content
3346         https://bugs.webkit.org/show_bug.cgi?id=93856
3347
3348         Reviewed by Rob Buis.
3349
3350         Internally reviewed by Matthew Staikos.
3351
3352         * Resources/blackberry/selectControlBlackBerry.css: add -webkit-overflow-scrolling: touch (EOM).
3353         (.select-area):
3354
3355 2012-08-13  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3356
3357         [Qt] Assertion in RenderObject::offsetFromAncestorContainer
3358         https://bugs.webkit.org/show_bug.cgi?id=93845
3359
3360         Reviewed by Kenneth Rohde Christiansen.
3361
3362         Do not attempt to clip using layers that are not containers of the renderer.
3363
3364         * page/GestureTapHighlighter.cpp:
3365
3366 2012-08-13  Dominik Röttsches  <dominik.rottsches@intel.com>
3367
3368         [Cairo] canvas/philip/tests/2d.drawImage.self.2.html test failing on ports using Cairo
3369         https://bugs.webkit.org/show_bug.cgi?id=93244
3370
3371         Reviewed by Kenneth Rohde Christiansen.
3372
3373         Similar to Skia's and Qt's ImageBuffer implementation we need to make sure that buffers
3374         for images are copied when the destination canvas is identical to the
3375         image buffer's context. This happens mostly in JS calls to canvas' drawImage method.
3376         For now fixing the drawImage case, drawPattern case is handled in bug 93854.
3377
3378         No new tests, covered by canvas/philip/tests/2d.drawImage.self.2.html
3379
3380         * platform/graphics/cairo/ImageBufferCairo.cpp:
3381         (WebCore::ImageBuffer::draw): Making sure buffer is copied when source and destination contexts are identical.
3382
3383 2012-06-24  Robert Hogan  <robert@webkit.org>
3384
3385         CSS 2.1 failure: Word-spacing affects each space and non-breaking space
3386         https://bugs.webkit.org/show_bug.cgi?id=89826
3387
3388         Reviewed by Eric Seidel.
3389
3390         Add word spacing to consecutive spaces in a run per http://www.w3.org/TR/CSS21/text.html#spacing-props.
3391
3392         Test: fast/css/word-spacing-characters.html
3393               fast/css/word-spacing-characters-complex-text.html
3394               fast/css/word-spacing-characters-linebreak.html
3395               css2.1/20110323/word-spacing-characters-002.htm
3396               css2.1/20110323/word-spacing-characters-003.htm
3397               css2.1/20110323/word-spacing-remove-space-001.htm
3398               css2.1/20110323/word-spacing-remove-space-002.htm
3399               css2.1/20110323/word-spacing-remove-space-003.htm
3400               css2.1/20110323/word-spacing-remove-space-004.htm
3401               css2.1/20110323/word-spacing-remove-space-005.htm
3402               css2.1/20110323/word-spacing-remove-space-006.htm
3403               css2.1/20110323/c541-word-sp-001.htm
3404
3405         * platform/graphics/WidthIterator.cpp:
3406         (WebCore::WidthIterator::advance): All spaces (ordinary space or &nbsp;) get word-spacing added, even
3407           if they are consecutive.
3408         * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
3409         (WebCore::HarfBuzzShaperBase::isWordEnd): ditto, but for the complex text case on Chromium. Had to use
3410           m_run rather than m_normalizedBuffer here as m_normalizedBuffer turns tabs into spaces! Unlike the simple
3411           text path, '\n' gets word-spacing - I observed this from fast/text/atsui-spacing-features.html but can't
3412           find it specified anywhere.
3413         * platform/graphics/harfbuzz/HarfBuzzShaperBase.h:
3414         (WebCore::HarfBuzzShaperBase::isCodepointSpace):
3415         * platform/graphics/mac/ComplexTextController.cpp:
3416         (WebCore::ComplexTextController::adjustGlyphsAndAdvances): ditto, but for the complext text case on Mac.
3417            The change to this file is speculative, I don't have a Mac build.
3418         * rendering/RenderBlockLineLayout.cpp:
3419         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Tested by word-spacing-linebreak.html
3420         * rendering/RenderText.cpp:
3421         (WebCore::RenderText::widthFromCache): This code-path is not covered by any existing layout tests!
3422           I've tried to come up with a test to hit it but have failed.
3423
3424 2012-08-13  Anna Cavender  <annacc@chromium.org>
3425
3426         Remove webkitMediaSourceURL from HTMLMediaElement.idl
3427         https://bugs.webkit.org/show_bug.cgi?id=93619
3428
3429         Reviewed by Adam Barth.
3430
3431