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