Web Inspector: Create JavaScriptSources based on network resources.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-09-03  Vsevolod Vlasov  <vsevik@chromium.org>
2
3         Web Inspector: Create JavaScriptSources based on network resources.
4         https://bugs.webkit.org/show_bug.cgi?id=95352
5
6         Reviewed by Pavel Feldman.
7
8         Introduced NetworkUISourceCodeProvider that is listening for ResourceTreeModel and creates UISourceCodes for them.
9         RawSourceCode does not create uiSourceCodes based on resource anymore (this is done by NetworkUISourceCodeProvider instead).
10         Moved script <-> uiSourceCode binding logic from RawSourceCode to ResourceScriptMapping.
11         Removed rawSourceCode as it was not needed anymore.
12
13         Tests: inspector/debugger/network-uisourcecode-provider.html
14                inspector/debugger/resource-script-mapping.html
15
16         * WebCore.gypi:
17         * WebCore.vcproj/WebCore.vcproj:
18         * inspector/compile-front-end.py:
19         * inspector/front-end/CompilerScriptMapping.js:
20         * inspector/front-end/JavaScriptSource.js:
21         (WebInspector.JavaScriptSource):
22         * inspector/front-end/NetworkUISourceCodeProvider.js: Renamed from Source/WebCore/inspector/front-end/StylesUISourceCodeProvider.js.
23         (WebInspector.NetworkUISourceCodeProvider):
24         (WebInspector.NetworkUISourceCodeProvider.prototype._populate):
25         (WebInspector.NetworkUISourceCodeProvider.prototype._styleResourceAdded):
26         (WebInspector.NetworkUISourceCodeProvider.prototype._scriptResourceAdded.resourceFinished):
27         (WebInspector.NetworkUISourceCodeProvider.prototype._scriptResourceAdded):
28         (WebInspector.NetworkUISourceCodeProvider.prototype._addJavaScriptSource):
29         (WebInspector.NetworkUISourceCodeProvider.prototype._addUISourceCode):
30         (WebInspector.NetworkUISourceCodeProvider.prototype._resourceAdded):
31         (WebInspector.NetworkUISourceCodeProvider.prototype._reset):
32         * inspector/front-end/RawSourceCode.js:
33         * inspector/front-end/ResourceScriptMapping.js:
34         (WebInspector.ResourceScriptMapping):
35         (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
36         (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts):
37         (WebInspector.ResourceScriptMapping.prototype._scriptsForSourceURL):
38         (WebInspector.ResourceScriptMapping.prototype._addOrReplaceTemporaryUISourceCode.get var):
39         (WebInspector.ResourceScriptMapping.prototype._addOrReplaceTemporaryUISourceCode):
40         (WebInspector.ResourceScriptMapping.prototype.get _uiSourceCodeReplaced):
41         (WebInspector.ResourceScriptMapping.prototype._reset):
42         * inspector/front-end/ScriptSnippetModel.js:
43         (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
44         (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
45         (WebInspector.SnippetJavaScriptSource):
46         * inspector/front-end/UISourceCode.js:
47         (WebInspector.UISourceCode):
48         (WebInspector.UISourceCode.prototype.uiLocationToRawLocation):
49         (WebInspector.UISourceCode.prototype.setSourceMapping):
50         * inspector/front-end/WebKit.qrc:
51         * inspector/front-end/inspector.html:
52         * inspector/front-end/inspector.js:
53
54 2012-09-03  Andrey Adaikin  <aandrey@chromium.org>
55
56         Web Inspector: [WebGL] Make the injected __resourceObject property non-enumerable
57         https://bugs.webkit.org/show_bug.cgi?id=95682
58
59         Reviewed by Pavel Feldman.
60
61         Make the injected auxiliary property __resourceObject non-enumerable to hide it from for..in iterations.
62         Ideally this property should be completely hidden from the user's code.
63         Drive-by: Fix couple of small FIXME's.
64
65         * inspector/InjectedScriptWebGLModuleSource.js:
66         (.):
67
68 2012-09-03  Tommy Widenflycht  <tommyw@google.com>
69
70         MediaStream API: Add Ice-related functionality to RTCPeerConnection
71         https://bugs.webkit.org/show_bug.cgi?id=95565
72
73         Reviewed by Adam Barth.
74
75         Adds all Ice-related functionality to RTCPeerConnection, including
76         events, callbacks and methods.
77
78         Test: fast/mediastream/RTCPeerConnection-ice.html
79
80         * CMakeLists.txt:
81         * GNUmakefile.list.am:
82         * Modules/mediastream/RTCIceCandidateEvent.cpp: Added.
83         (WebCore):
84         (WebCore::RTCIceCandidateEvent::create):
85         (WebCore::RTCIceCandidateEvent::RTCIceCandidateEvent):
86         (WebCore::RTCIceCandidateEvent::~RTCIceCandidateEvent):
87         (WebCore::RTCIceCandidateEvent::candidate):
88         (WebCore::RTCIceCandidateEvent::interfaceName):
89         * Modules/mediastream/RTCIceCandidateEvent.h: Added.
90         (WebCore):
91         (RTCIceCandidateEvent):
92         * Modules/mediastream/RTCIceCandidateEvent.idl: Added.
93         * Modules/mediastream/RTCPeerConnection.cpp:
94         (WebCore::RTCPeerConnection::RTCPeerConnection):
95         (WebCore::RTCPeerConnection::updateIce):
96         (WebCore):
97         (WebCore::RTCPeerConnection::addIceCandidate):
98         (WebCore::RTCPeerConnection::iceState):
99         (WebCore::RTCPeerConnection::close):
100         (WebCore::RTCPeerConnection::didGenerateIceCandidate):
101         (WebCore::RTCPeerConnection::didChangeIceState):
102         (WebCore::RTCPeerConnection::stop):
103         (WebCore::RTCPeerConnection::changeIceState):
104         * Modules/mediastream/RTCPeerConnection.h:
105         (RTCPeerConnection):
106         * Modules/mediastream/RTCPeerConnection.idl:
107         * WebCore.gypi:
108         * dom/EventNames.h:
109         (WebCore):
110         * dom/EventNames.in:
111         * platform/chromium/support/WebRTCICECandidateDescriptor.cpp: Copied from Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp.
112         (WebKit):
113         (WebKit::WebRTCICECandidateDescriptor::WebRTCICECandidateDescriptor):
114         (WebKit::WebRTCICECandidateDescriptor::assign):
115         (WebKit::WebRTCICECandidateDescriptor::reset):
116         (WebKit::WebRTCICECandidateDescriptor::initialize):
117         (WebKit::WebRTCICECandidateDescriptor::operator PassRefPtr<WebCore::RTCIceCandidateDescriptor>):
118         (WebKit::WebRTCICECandidateDescriptor::candidate):
119         (WebKit::WebRTCICECandidateDescriptor::sdpMid):
120         (WebKit::WebRTCICECandidateDescriptor::sdpMLineIndex):
121         * platform/mediastream/RTCIceCandidateDescriptor.h:
122         (WebCore::RTCIceCandidateDescriptor::candidate):
123         (WebCore::RTCIceCandidateDescriptor::sdpMid):
124         (WebCore::RTCIceCandidateDescriptor::sdpMLineIndex):
125         * platform/mediastream/RTCPeerConnectionHandler.h:
126         (WebCore):
127         (RTCPeerConnectionHandler):
128         * platform/mediastream/RTCPeerConnectionHandlerClient.h:
129         (WebCore):
130         (RTCPeerConnectionHandlerClient):
131         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
132         (WebCore::RTCPeerConnectionHandlerChromium::updateIce):
133         (WebCore):
134         (WebCore::RTCPeerConnectionHandlerChromium::addIceCandidate):
135         (WebCore::RTCPeerConnectionHandlerChromium::didGenerateICECandidate):
136         (WebCore::RTCPeerConnectionHandlerChromium::didChangeICEState):
137         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
138         (WebKit):
139         (RTCPeerConnectionHandlerChromium):
140
141 2012-09-03  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
142
143         Unreviewed build fix after r127421
144
145         * rendering/HitTestResult.cpp:
146         (WebCore::HitTestLocation::HitTestLocation):
147
148 2012-09-03  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
149
150         Move AllowShadowContent flag to HitTestRequest 
151         https://bugs.webkit.org/show_bug.cgi?id=95685
152
153         Reviewed by Antonio Gomes.
154
155         Moves the flag and updates the interface for HitTestResult::addNodeToRectBasedTestResult so that
156         it can read the flag from HitTestRequest instead of from HitTestResult.
157
158         No change in functionality. No new tests.
159
160         * dom/Document.cpp:
161         (WebCore::Document::nodesFromRect):
162         * page/EventHandler.cpp:
163         (WebCore::EventHandler::hitTestResultAtPoint):
164         * rendering/HitTestRequest.h:
165         * rendering/HitTestResult.cpp:
166         (WebCore::HitTestLocation::HitTestLocation):
167         (WebCore::HitTestResult::HitTestResult):
168         (WebCore::HitTestResult::operator=):
169         (WebCore::HitTestResult::addNodeToRectBasedTestResult):
170         * rendering/HitTestResult.h:
171         (HitTestLocation):
172         (HitTestResult):
173         * rendering/InlineFlowBox.cpp:
174         (WebCore::InlineFlowBox::nodeAtPoint):
175         * rendering/InlineTextBox.cpp:
176         (WebCore::InlineTextBox::nodeAtPoint):
177         * rendering/RenderBlock.cpp:
178         (WebCore::RenderBlock::nodeAtPoint):
179         * rendering/RenderBox.cpp:
180         (WebCore::RenderBox::nodeAtPoint):
181         * rendering/RenderImage.cpp:
182         (WebCore::RenderImage::nodeAtPoint):
183         * rendering/RenderLayer.cpp:
184         (WebCore::RenderLayer::hitTestLayer):
185         (WebCore::RenderLayer::hitTestList):
186         * rendering/RenderMultiColumnSet.cpp:
187         (WebCore::RenderMultiColumnSet::nodeAtPoint):
188         * rendering/RenderRegion.cpp:
189         (WebCore::RenderRegion::nodeAtPoint):
190         * rendering/RenderTable.cpp:
191         (WebCore::RenderTable::nodeAtPoint):
192         * rendering/svg/RenderSVGRoot.cpp:
193         (WebCore::RenderSVGRoot::nodeAtPoint):
194         * rendering/svg/SVGInlineTextBox.cpp:
195         (WebCore::SVGInlineTextBox::nodeAtPoint):
196
197 2012-09-03  Alexander Pavlov  <apavlov@chromium.org>
198
199         Web Inspector: Unhide hidden characters
200         https://bugs.webkit.org/show_bug.cgi?id=93888
201
202         Reviewed by Pavel Feldman.
203
204         Certain invisible characters will be rendered as HTML entity references in the DOM tree to make them visible to the user.
205
206         * inspector/front-end/ElementsTreeOutline.js:
207         (WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
208
209 2012-09-03  Pavel Feldman  <pfeldman@chromium.org>
210
211         Web Inspector: rename JavaScriptContextManager to RuntimeModel for consistency.
212         https://bugs.webkit.org/show_bug.cgi?id=95677
213
214         Reviewed by Yury Semikhatsky.
215
216         - renamed the file and the usages
217         - renamed isolatedContextCreated to executionContextCreated for consistency.
218
219         * WebCore.gypi:
220         * WebCore.vcproj/WebCore.vcproj:
221         * inspector/Inspector.json:
222         * inspector/PageRuntimeAgent.cpp:
223         (WebCore::PageRuntimeAgent::notifyContextCreated):
224         * inspector/compile-front-end.py:
225         * inspector/front-end/RuntimeModel.js: Renamed from Source/WebCore/inspector/front-end/JavaScriptContextManager.js.
226         (WebInspector.RuntimeModel):
227         (WebInspector.RuntimeModel.prototype._frameAdded):
228         (WebInspector.RuntimeModel.prototype._frameDetached):
229         (WebInspector.RuntimeModel.prototype._executionContextCreated):
230         (WebInspector.RuntimeDispatcher):
231         (WebInspector.RuntimeDispatcher.prototype.executionContextCreated):
232         * inspector/front-end/WebKit.qrc:
233         * inspector/front-end/inspector.html:
234
235 2012-09-03  Andrey Kosyakov  <caseq@chromium.org>
236
237         Web Inspector: use linkifyResourceAsNode, not linkifyLocation when linkifying resources in Timeline
238         https://bugs.webkit.org/show_bug.cgi?id=95540
239
240         Reviewed by Pavel Feldman.
241
242         Linkify recource details using WebInspector.linkifyResourceAsNode(), so these bypass linkifier. Also
243         fix closure compiler warning.
244
245         * inspector/front-end/TimelinePresentationModel.js:
246         (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):
247         (WebInspector.TimelinePresentationModel.Record.prototype._linkifyLocation):
248
249 2012-09-03  'Pavel Feldman'  <pfeldman@chromium.org>
250
251         Web Inspector: fixed front-end compilation warnings.
252         Not reviewed.
253
254         * inspector/front-end/FilteredItemSelectionDialog.js:
255         * inspector/front-end/HeapSnapshotView.js:
256
257 2012-09-03  Pavel Feldman  <pfeldman@chromium.org>
258
259         Web Inspector: paint grid on top of box highlight.
260         https://bugs.webkit.org/show_bug.cgi?id=95676
261
262         Reviewed by Alexander Pavlov.
263
264         Otherwise, ruler numbers are not visible when selecting body.
265
266         * inspector/InspectorOverlayPage.html:
267
268 2012-08-31  Pavel Feldman  <pfeldman@chromium.org>
269
270         Web Inspector: get rid of context execution id fallback.
271         https://bugs.webkit.org/show_bug.cgi?id=95567
272
273         Reviewed by Yury Semikhatsky.
274
275         We now assign execution context id upon changes in the UI.
276
277         * inspector/front-end/ConsoleView.js:
278         (WebInspector.ConsoleView.prototype.get statusBarItems):
279         (WebInspector.ConsoleView.prototype._contextAdded):
280         (WebInspector.ConsoleView.prototype._addContextList):
281         (WebInspector.ConsoleView.prototype._contextListRemoved):
282         (WebInspector.ConsoleView.prototype._updateExecutionContextSelector):
283         (WebInspector.ConsoleView.prototype._appendExecutionContextOption):
284         (WebInspector.ConsoleView.prototype._executionContextChanged):
285         (WebInspector.ConsoleView.prototype._contextListUpdated):
286         (WebInspector.ConsoleView.prototype._addedExecutionContext):
287         (WebInspector.ConsoleView.prototype.evalInInspectedWindow.evalCallback):
288         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
289         (WebInspector.ConsoleView.prototype._enterKeyPressed):
290         * inspector/front-end/JavaScriptContextManager.js:
291         (WebInspector.JavaScriptContextManager):
292         (WebInspector.JavaScriptContextManager.prototype.contextLists):
293         (WebInspector.JavaScriptContextManager.prototype.contextByFrameAndSecurityOrigin):
294         (WebInspector.JavaScriptContextManager.prototype._frameAdded):
295         (WebInspector.JavaScriptContextManager.prototype._frameNavigated):
296         (WebInspector.JavaScriptContextManager.prototype._frameDetached):
297         (WebInspector.JavaScriptContextManager.prototype.isolatedContextCreated):
298         (WebInspector.FrameExecutionContextList):
299         (WebInspector.FrameExecutionContextList.prototype._frameNavigated):
300         (WebInspector.FrameExecutionContextList.prototype._addExecutionContext):
301         (WebInspector.FrameExecutionContextList.prototype.executionContexts):
302         (WebInspector.FrameExecutionContextList.prototype.contextBySecurityOrigin):
303
304 2012-09-03  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
305
306         [GTK][EFL] 'dictIter' iterator is not initialized for an inner loop
307         https://bugs.webkit.org/show_bug.cgi?id=95436
308
309         Reviewed by Gustavo Noronha Silva.
310
311         The 'checkSpellingOfString' method assumes that the given string is concatenation of words.
312         To properly handle spellchecking of each word we need to iterate over the all available
313         dictionaries ('dictIter').
314
315         To allow spellchecking for multiple words, 'dictIter' should be initialized at the beginning
316         of vector while spellchecking of the word. This ensures performing of spelling for word based on
317         at least one dictionary.
318
319         * platform/text/enchant/TextCheckerEnchant.cpp:
320         (TextCheckerEnchant::checkSpellingOfString): Moved initialization of 'dictIter' to an inner loop.
321
322 2012-09-02  Yoshifumi Inoue  <yosin@chromium.org>
323
324         [Forms] Empty visible value of AM/PM field of multiple fields time input UI should display variable number of "-" based on maximum number of labels
325         https://bugs.webkit.org/show_bug.cgi?id=95660
326
327         Reviewed by Kent Tamura.
328
329         This patch changes visible empty value of AM/PM field in multiple
330         fields time input UI to "-", "--", "---", and so on based on maximum
331         length of AM/PM labels. In current implementation, it is always "--"
332         regardless locale, although on Arabic, AM/PM are represented in one
333         character.
334
335         This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
336         ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
337
338         No new tests. Once multiple field time input UI uses "lang" HTML
339         attribute to take time format, we can write a test for this patch.
340
341         * html/shadow/DateTimeSymbolicFieldElement.cpp:
342         (makeVisibleEmptyValue): Build visible empty value from maximum length
343         of labels.
344         (WebCore::DateTimeSymbolicFieldElement::visibleEmptyValue): Changed to
345         use m_visibleEmptyValue.
346         * html/shadow/DateTimeSymbolicFieldElement.h:
347         (WebCore::DateTimeSymbolicFieldElement): Added new member variable
348         m_visibleEmptyValue to hold visible empty value.
349
350 2012-09-02  Yoshifumi Inoue  <yosin@chromium.org>
351
352         [Forms] AM/PM field of multiple fields time input UI should be fixed width
353         https://bugs.webkit.org/show_bug.cgi?id=95542
354
355         Reviewed by Kent Tamura.
356
357         This patch changes width of AM/PM field of multiple field time input
358         UI fixed as maximum width of labels or "--".
359
360         This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
361         ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
362
363         No new tests. Once multiple field time input UI uses "lang" HTML
364         attribute to take time format, we can write a test for this patch.
365
366         * css/html.css:
367         (input::-webkit-datetime-edit-ampm-field): Added "display" property to "inline-block" for setting width.
368         Added "text-align" property to "center".
369         * html/shadow/DateTimeSymbolicFieldElement.cpp:
370         (WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement): Changed to call setHasCustomCallback().
371         (WebCore::DateTimeSymbolicFieldElement::customStyleForRenderer): Added for setting field with from maximum width of labels.
372         * html/shadow/DateTimeSymbolicFieldElement.h:
373         (WebCore::DateTimeSymbolicFieldElement::visibleEmptyValue): Added for using visible empty value in customStyleForRenderer() and visibleValue().
374         (WebCore::DateTimeSymbolicFieldElement::visibleValue): Changed to call visibleEmptyValue() instead of using literal "--".
375         (DateTimeSymbolicFieldElement): Added a declaration of customStyleForRenderer().
376
377 2012-09-02  Benjamin Poulain  <bpoulain@apple.com>
378
379         Improve the way we use convertedSpaceString() in convertHTMLTextToInterchangeFormat()
380         https://bugs.webkit.org/show_bug.cgi?id=95301
381
382         Reviewed by Darin Adler.
383
384         The static string convertedSpaceString() had a couple of annoying side effects:
385         -The string was 16bits due to noBreakSpace, which forced any input to be converted to 16bits.
386         -The string was kept in the heap for no particular reason.
387
388         This patch redefines convertedSpaceString as a constant literal so that we can use it efficiently.
389
390         The patch also make the binary a tiny bit smaller (700 bytes).
391
392         * editing/HTMLInterchange.cpp:
393         (WebCore::convertHTMLTextToInterchangeFormat):
394
395 2012-09-02  Mike West  <mkwst@chromium.org>
396
397         Build is broken when SVG is disabled.
398         https://bugs.webkit.org/show_bug.cgi?id=95653
399
400         Reviewed by Dirk Schulze.
401
402         Adding CSSPropertyWebkitClipPath to the massive switch statement in StyleResolver.
403
404         * css/StyleResolver.cpp:
405         (WebCore::StyleResolver::collectMatchingRulesForList):
406
407 2012-08-31  Antti Koivisto  <antti@apple.com>
408
409         Repaints should not be deferred after initial page load is complete
410         https://bugs.webkit.org/show_bug.cgi?id=95480
411
412         Reviewed by Simon Fraser
413
414         Any dynamically triggered resource loading currently sends us back to deferred paint mode, making animation choppy. 
415         This is not the intention of this code.
416
417         This patch adds an additional condition that prevents page from re-entering deferred repaint mode after the initial
418         load has completed. It also cleans up the code slightly.
419
420         * loader/FrameLoader.cpp:
421         (WebCore::FrameLoader::checkCompleted):
422         
423             Add additional call to checkStopDelayingDeferredRepaints() after a frame load completes as the
424             new condition in shouldUseLoadTimeDeferredRepaintDelay() looks for this change too.
425
426         * page/FrameView.cpp:
427         (WebCore):
428         
429             Reduced the normal delay from 25ms to 16ms to not interfere with full framerate animation.
430
431         (WebCore::FrameView::syncCompositingStateForThisFrame):
432         (WebCore::FrameView::checkFlushDeferredRepaintsAfterLoadComplete):
433         
434             Ensure the repaint delay is reset after load completes even if we don't currently need a repaint.
435
436         (WebCore::FrameView::flushDeferredRepaints):
437         
438             We had to identical functions, flushDeferredRepaints() and stopDelayingDeferredRepaints(). Remove
439             the latter.
440
441         (WebCore::FrameView::shouldUseLoadTimeDeferredRepaintDelay):
442         
443             Factor the test for using load time repaint timings to a functions. The test for
444             initial page load having completed is new.
445
446         (WebCore::FrameView::updateDeferredRepaintDelay):
447         (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
448         (WebCore::FrameView::setRepaintThrottlingDeferredRepaintDelay):
449         * page/FrameView.h:
450         (FrameView):
451
452 2012-09-02  Filip Pizlo  <fpizlo@apple.com>
453
454         Don't create access error strings if there is no access error
455         https://bugs.webkit.org/show_bug.cgi?id=95652
456
457         Reviewed by Adam Barth.
458         
459         This undoes the 50% performance regression in pdfjs caused by
460         http://trac.webkit.org/changeset/126165
461
462         No new tests because behavior is unchanged.
463
464         * bindings/js/JSDOMBinding.cpp:
465         (WebCore::shouldAllowAccessToFrame):
466         (WebCore::shouldAllowAccessToDOMWindow):
467
468 2012-08-31  Dirk Schulze  <krit@webkit.org>
469
470         Use -webkit-clip-path shapes to clip SVG elements
471         https://bugs.webkit.org/show_bug.cgi?id=95620
472
473         Reviewed by Rob Buis.
474
475         This patch adds a path segment for a BasicShape to a given Path object. This
476         path and it's wind rule are used to clip the context of the SVG element.
477
478         Tests: svg/clip-path/clip-path-shape-circle-1-expected.svg
479                svg/clip-path/clip-path-shape-circle-1.svg
480                svg/clip-path/clip-path-shape-circle-2-expected.svg
481                svg/clip-path/clip-path-shape-circle-2.svg
482                svg/clip-path/clip-path-shape-ellipse-1-expected.svg
483                svg/clip-path/clip-path-shape-ellipse-1.svg
484                svg/clip-path/clip-path-shape-ellipse-2-expected.svg
485                svg/clip-path/clip-path-shape-ellipse-2.svg
486                svg/clip-path/clip-path-shape-polygon-1-expected.svg
487                svg/clip-path/clip-path-shape-polygon-1.svg
488                svg/clip-path/clip-path-shape-polygon-2-expected.svg
489                svg/clip-path/clip-path-shape-polygon-2.svg
490                svg/clip-path/clip-path-shape-polygon-3-expected.svg
491                svg/clip-path/clip-path-shape-polygon-3.svg
492                svg/clip-path/clip-path-shape-rounded-rect-1-expected.svg
493                svg/clip-path/clip-path-shape-rounded-rect-1.svg
494                svg/clip-path/clip-path-shape-rounded-rect-2-expected.svg
495                svg/clip-path/clip-path-shape-rounded-rect-2.svg
496
497         * rendering/style/BasicShapes.cpp: Added helper functions that apply path segments to a given path.
498         (WebCore::BasicShapeRectangle::path):
499         (WebCore::BasicShapeCircle::path):
500         (WebCore::BasicShapeEllipse::path):
501         (WebCore::BasicShapePolygon::path):
502         * rendering/style/BasicShapes.h: Make BasicShape virtualized again, since new virtual functions were added.
503         (WebCore::BasicShape::~BasicShape):
504         (BasicShape):
505         (WebCore::BasicShape::windRule): Will return the wind rule of the shape - nonzero by default.
506         (WebCore::BasicShape::BasicShape):
507         (BasicShapeRectangle):
508         (WebCore::BasicShapeRectangle::type): Removed member variable and return type per inheriting class directly.
509         (WebCore::BasicShapeRectangle::BasicShapeRectangle):
510         (BasicShapeCircle):
511         (WebCore::BasicShapeCircle::type): Ditto.
512         (WebCore::BasicShapeCircle::BasicShapeCircle):
513         (BasicShapeEllipse):
514         (WebCore::BasicShapeEllipse::type): Ditto.
515         (WebCore::BasicShapeEllipse::BasicShapeEllipse):
516         (BasicShapePolygon):
517         (WebCore::BasicShapePolygon::windRule):
518         (WebCore::BasicShapePolygon::type): Ditto.
519         (WebCore::BasicShapePolygon::BasicShapePolygon):
520         * rendering/svg/SVGRenderingContext.cpp: If -webkit-clip-path was defined, clip the context to the shape.
521         Right now -webkit-clip-path overrides clip-path, so that people don't use both at the same time. Current
522         clip-path property will be replaced, once -webkit-clip-path gets unprefixed.
523         (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
524
525 2012-09-01  Ned Holbrook  <nholbrook@apple.com>
526
527         Regression(r126763): Heap-use-after-free in WebCore::nextBreakablePosition
528         https://bugs.webkit.org/show_bug.cgi?id=95229
529
530         Reviewed by Dan Bernstein.
531
532         TextLayout and LazyLineBreakIterator cache a RenderText's string during line breaking but RenderCounter
533         and RenderQuote can replace that string during preferred width calculation. This patch adds a non-virtual member
534         function to RenderText named updateTextIfNeeded() that triggers immediate string replacement by calling
535         the new virtual updateText() if necessary, which in turn calls computePreferredLogicalWidths(). In this way
536         RenderBlock::LineBreaker::nextLineBreak() can ensure a RenderText's string is current before caching it.
537
538         Test: fast/css/content/content-quotes-crash.html
539
540         * rendering/RenderBlockLineLayout.cpp:
541         (WebCore::dirtyLineBoxesForRenderer): Drive-by: replace existing code with the equivalent updateTextIfNeeded().
542         (WebCore::RenderBlock::LineBreaker::nextLineBreak): Use updateTextIfNeeded() prior to caching RenderText string.
543         * rendering/RenderCounter.cpp:
544         (WebCore::RenderCounter::updateText): Call computePreferredLogicalWidths().
545         (WebCore):
546         * rendering/RenderCounter.h:
547         (RenderCounter):
548         * rendering/RenderQuote.cpp:
549         (WebCore::RenderQuote::updateText): Call computePreferredLogicalWidths().
550         (WebCore):
551         * rendering/RenderQuote.h:
552         (RenderQuote):
553         * rendering/RenderText.h:
554         (WebCore::RenderText::updateTextIfNeeded): Only call virtual updateText() if necessary.
555         (RenderText):
556         (WebCore::RenderText::updateText): Add no-op default implementation for new virtual member function.
557
558 2012-09-01  Li Yin  <li.yin@intel.com>
559
560         fast/events/message-port-clone.html hits ASSERT in Debug (usually in later tests)
561         https://bugs.webkit.org/show_bug.cgi?id=85811
562
563         Reviewed by Kenneth Rohde Christiansen.
564
565         When MessagePort invoked close function, the close status is needed to set,
566         regardless of whether the port is cloned or not.
567
568         Tests: fast/events/message-port-clone.html
569                fast/events/message-port-close.html
570
571         * dom/MessagePort.cpp:
572         (WebCore::MessagePort::close): Must set m_closed to be true.
573
574 2012-09-01  Andreas Kling  <kling@webkit.org>
575
576         Share inline style between cloned Nodes (copy on write.)
577         <http://webkit.org/b/95451>
578
579         Reviewed by Antti Koivisto.
580
581         When cloning a Node, use an immutable StylePropertySet for the new Node's inline style.
582         If the old Node already had an immutable inline style, we now reuse that, avoiding a copy.
583         Copying is deferred until mutation (either via CSSOM or setting of the style attribute.)
584
585         * dom/ElementAttributeData.cpp:
586         (WebCore::ElementAttributeData::cloneDataFrom):
587         * css/StylePropertySet.h:
588         * css/StylePropertySet.cpp:
589         (WebCore::StylePropertySet::immutableCopyIfNeeded):
590
591             Added. Simply returns 'this' if the object is already immutable, otherwise creates a new one.
592
593 2012-09-01  Dirk Schulze  <krit@webkit.org>
594
595         [Qt] Fix the --minimal build after r127327
596         https://bugs.webkit.org/show_bug.cgi?id=95639
597
598         Unreviewed attempt to fix Qt minimal build.
599
600         * css/StyleBuilder.cpp:
601
602 2012-09-01  Joanmarie Diggs  <jdiggs@igalia.com>
603
604         [Gtk] No accessible caret-moved events found in certain content
605         https://bugs.webkit.org/show_bug.cgi?id=72811
606
607         Part of the bug was due to expected accessible objects of DivRole
608         and ParagraphRole being ignored, in favor of including child blocks.
609
610         Reviewed by Chris Fleizach.
611
612         Test: platform/gtk/accessibility/spans-paragraphs-and-divs.html
613
614         * accessibility/AccessibilityObject.cpp:
615         (WebCore::AccessibilityObject::firstAnonymousBlockChild):
616         (WebCore):
617         * accessibility/AccessibilityObject.h:
618         (AccessibilityObject):
619         New method to return the first child which is an anonymous block.
620         * accessibility/gtk/AccessibilityObjectAtk.cpp:
621         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
622         Include paragraphs and divs which contain a non-nested anonymous block.
623
624 2012-09-01  Joanmarie Diggs  <jdiggs@igalia.com>
625
626         [Gtk] No accessible caret-moved events found in certain content
627         https://bugs.webkit.org/show_bug.cgi?id=72811
628
629         Part of the bug was due to extraneous accessible objects resulting
630         from unignored inline and block spans.
631
632         Reviewed by Chris Fleizach.
633
634         Test: platform/gtk/accessibility/spans.html
635
636         * accessibility/AccessibilityRenderObject.cpp:
637         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): Ignore objects that have spanTag tag name.
638         * accessibility/gtk/AccessibilityObjectAtk.cpp:
639         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Ignore most anonymous blocks.
640         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
641         (roleIsTextType): Add ListItem to the roles which should implement AtkText.
642
643 2012-09-01  Joanmarie Diggs  <jdiggs@igalia.com>
644
645         [Gtk] Incorrect/unexpected characters in the text of certain accessibles
646         https://bugs.webkit.org/show_bug.cgi?id=95180
647
648         Reviewed by Chris Fleizach.
649
650         The bug was caused by failing to properly handle anonymous block text
651         which had object replacement characters (multibyte) in it. Calculating
652         the string length based on the UTF-8 string meant that we were returning
653         more characters than were there and in danger of splitting a multibyte
654         character.
655
656         Tests: platform/gtk/accessibility/entry-and-password.html
657                platform/gtk/accessibility/replaced-objects-in-anonymous-blocks.html
658
659         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
660         (webkitAccessibleTextGetText): Convert the text returned by textForObject()
661         to Unicode before calculating its length.
662
663 2012-09-01  Adam Barth  <abarth@webkit.org>
664
665         Remove all-but-one use of WTF::String::operator+= from WebCore
666         https://bugs.webkit.org/show_bug.cgi?id=95508
667
668         Reviewed by Benjamin Poulain.
669
670         This patch removes all the uses of WTF::String::operator+= from
671         WebCore, except those in WorkerScriptLoader (which need a more delicate
672         patch). There were actually a handful of legitimate use cases for += in
673         this group. I've replaced them with calls to String::append rather than
674         += so that we can remove += and encourage most contributors to use
675         more efficient string idioms.
676
677         (There are likely some more uses in WebCore hiding in port-specific
678         code---this patch covers only those call sites found when compiling the
679         chromium-mac port.)
680
681         * inspector/InspectorStyleTextEditor.cpp:
682         (WebCore::InspectorStyleTextEditor::insertProperty):
683             - This complicated function looks really inefficient, but I didn't
684               have the heart to rewrite it.
685         * inspector/NetworkResourcesData.cpp:
686         (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
687         * loader/cache/CachedCSSStyleSheet.cpp:
688         (WebCore::CachedCSSStyleSheet::sheetText):
689         (WebCore::CachedCSSStyleSheet::data):
690         * loader/cache/CachedFont.cpp:
691         (WebCore::CachedFont::ensureSVGFontData):
692         * loader/cache/CachedScript.cpp:
693         (WebCore::CachedScript::script):
694         * loader/cache/CachedXSLStyleSheet.cpp:
695         (WebCore::CachedXSLStyleSheet::data):
696             - This decoder/flush pattern can probably be improved by combining
697               the decode and flush operations, but I didn't do that in this
698               patch.
699         * page/FrameTree.cpp:
700         (WebCore::FrameTree::uniqueChildName):
701             - I found this code very amusing. It's worried enough about
702               efficiency to give a big speech about why snprintf is safe, but
703               then it implicitly performs a large number of mallocs and memcpy
704               operations.
705         * page/Page.cpp:
706         (WebCore::Page::userStyleSheet):
707         * platform/chromium/support/WebHTTPLoadInfo.cpp:
708         (WebKit::addHeader):
709         * platform/chromium/support/WebURLResponse.cpp:
710         (WebKit::WebURLResponse::addHTTPHeaderField):
711             - This header-appending idiom looks like a reasonable use case for
712               String::append.
713         * xml/XMLHttpRequest.cpp:
714         (WebCore::XMLHttpRequest::send):
715         (WebCore::XMLHttpRequest::setRequestHeaderInternal):
716         * xml/XPathFunctions.cpp:
717         (WebCore::XPath::FunTranslate::evaluate):
718             - Fixes 6 year old FIXME.
719         * xml/parser/XMLDocumentParser.cpp:
720         (WebCore::XMLDocumentParser::append):
721         * xml/parser/XMLDocumentParser.h:
722         (XMLDocumentParser):
723         * xml/parser/XMLDocumentParserLibxml2.cpp:
724         (WebCore::XMLDocumentParser::doEnd):
725         * xml/parser/XMLDocumentParserQt.cpp:
726         (WebCore::XMLDocumentParser::doEnd):
727             - Changed m_originalSourceForTransform to a SegmentedString so that
728               we don't need to malloc and copy the entire document every time
729               we get more data from the network.
730
731 2012-09-01  Tommy Widenflycht  <tommyw@google.com>
732
733         MediaStream API: Add MediaStream management to RTCPeerConnection
734         https://bugs.webkit.org/show_bug.cgi?id=95543
735
736         Reviewed by Adam Barth.
737
738         This includes addStream/removeStream to RTCPeerConnection,
739         as well as didAddRemoteStream/didRemoveRemoteStream to RTCPeerConnectionHandlerClient.
740
741         Test: fast/mediastream/RTCPeerConnection-AddRemoveStream.html
742
743         * Modules/mediastream/RTCPeerConnection.cpp:
744         (WebCore::RTCPeerConnection::parseConfiguration):
745         (WebCore::RTCPeerConnection::RTCPeerConnection):
746         (WebCore::RTCPeerConnection::addStream):
747         (WebCore):
748         (WebCore::RTCPeerConnection::removeStream):
749         (WebCore::RTCPeerConnection::localStreams):
750         (WebCore::RTCPeerConnection::remoteStreams):
751         (WebCore::RTCPeerConnection::didAddRemoteStream):
752         (WebCore::RTCPeerConnection::didRemoveRemoteStream):
753         * Modules/mediastream/RTCPeerConnection.h:
754         (RTCPeerConnection):
755         * Modules/mediastream/RTCPeerConnection.idl:
756         * bindings/js/Dictionary.cpp:
757         (WebCore::Dictionary::getOwnPropertiesAsStringHashMap):
758         (WebCore::Dictionary::getOwnPropertyNames):
759         * bindings/v8/Dictionary.cpp:
760         (WebCore::Dictionary::getOwnPropertiesAsStringHashMap):
761         (WebCore::Dictionary::getOwnPropertyNames):
762         * bindings/v8/Dictionary.h:
763         (Dictionary):
764         * platform/mediastream/RTCPeerConnectionHandler.cpp:
765         (RTCPeerConnectionHandlerDummy):
766         (WebCore::RTCPeerConnectionHandlerDummy::addStream):
767         (WebCore):
768         (WebCore::RTCPeerConnectionHandlerDummy::removeStream):
769         * platform/mediastream/RTCPeerConnectionHandler.h:
770         (RTCPeerConnectionHandler):
771         * platform/mediastream/RTCPeerConnectionHandlerClient.h:
772         (WebCore):
773         (RTCPeerConnectionHandlerClient):
774         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
775         (WebCore::RTCPeerConnectionHandlerChromium::addStream):
776         (WebCore):
777         (WebCore::RTCPeerConnectionHandlerChromium::removeStream):
778         (WebCore::RTCPeerConnectionHandlerChromium::didAddRemoteStream):
779         (WebCore::RTCPeerConnectionHandlerChromium::didRemoveRemoteStream):
780         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
781         (WebKit):
782         (RTCPeerConnectionHandlerChromium):
783
784 2012-09-01  Kent Tamura  <tkent@chromium.org>
785
786         Touch a file so that Chromium-win bots correctly re-build for OPENTYPE_VERTICAL
787         https://bugs.webkit.org/show_bug.cgi?id=51450
788
789         * platform/graphics/opentype/OpenTypeVerticalData.cpp:
790
791 2012-08-31  Kent Tamura  <tkent@chromium.org>
792
793         Touch some files so that Chromium-win bots correctly re-build
794         files for OPENTYPE_VERTICAL.
795         https://bugs.webkit.org/show_bug.cgi?id=51450
796
797         * platform/graphics/FontCache.h:
798         * platform/graphics/SimpleFontData.h:
799         * platform/graphics/opentype/OpenTypeTypes.h:
800
801 2012-08-31  Chris Hutten-Czapski  <chutten@rim.com>
802
803         -webkit-flex: 0 in inspector.css is confusing
804         https://bugs.webkit.org/show_bug.cgi?id=95568
805
806         Reviewed by Tony Chang.
807
808         The initial value of -webkit-flex results in the same layout as
809         -webkit-flex: 0; but does not depend on the new initial value of auto
810         for min-width.
811
812         This increases the support for the new Web Inspector style to renderers
813         built before rev 122264 but after 117385.
814
815         No new tests (has no effect except to out-of-date renderers)
816
817         * inspector/front-end/inspector.css:
818         (.status-bar-item):
819
820 2012-08-31  Filip Pizlo  <fpizlo@apple.com>
821
822         JSArray::putDirectIndex should by default behave like JSObject::putDirect
823         https://bugs.webkit.org/show_bug.cgi?id=95630
824
825         Reviewed by Gavin Barraclough.
826
827         No new tests because no change in behavior.
828
829         * bindings/js/SerializedScriptValue.cpp:
830         (WebCore::CloneDeserializer::putProperty):
831
832 2012-08-31  Nate Chapin  <japhet@chromium.org>
833
834         fast/loader/document-destruction-within-unload.html causes assertion failures on mac and qt.
835         https://bugs.webkit.org/show_bug.cgi?id=66783
836
837         Reviewed by Darin Adler.
838
839         This was a not-quite-regression from trac.webkit.org/changeset/93521, in that we hit asserts
840         in a case where we previously were use-after-freeing. Tweak how we handle cases where a Document
841         is cleared from within an unload handler.
842
843         No new tests, fixing fast/loader/document-destruction-within-unload.html on mac and qt.
844
845         * loader/FrameLoader.cpp:
846         (WebCore::FrameLoader::setDocumentLoader): Instead of trying to reattach a partially removed
847             DocumentLoader if it is detached before being fully added, leave the old one in place, completed.
848         (WebCore::FrameLoader::transitionToCommitted):
849
850 2012-08-31  Tony Chang  <tony@chromium.org>
851
852         Make computeBlockDirectionMargins const
853         https://bugs.webkit.org/show_bug.cgi?id=95595
854
855         Reviewed by Ojan Vafai.
856
857         This is a step in making computeLogicalHeight const.
858         Refactor RenderBox::computeBlockDirectionMargins and make it const.
859         Add a helper method computeAndSetBlockDirectionMargins for the callers outside of
860         computeLogicalHeight that are calling this.
861
862         No new tests, this is already covered by tests in fast/writing-mode and fast/multicol.
863
864         * rendering/RenderBlock.cpp:
865         (WebCore::RenderBlock::marginBeforeEstimateForChild): Switch to computeAndSetBlockDirectionMargins
866         (WebCore::RenderBlock::layoutBlockChild): Switch to computeAndSetBlockDirectionMargins
867         (WebCore::RenderBlock::insertFloatingObject): Switch to computeAndSetBlockDirectionMargins
868         * rendering/RenderBox.cpp:
869         (WebCore::RenderBox::computeLogicalHeight): Use const version and fill in a MarginValues struct (to be merged in the next patch).
870         (WebCore::RenderBox::computeBlockDirectionMargins): Pass in out params.
871         (WebCore):
872         (WebCore::RenderBox::computeAndSetBlockDirectionMargins): Does the same as the old computeBlockDirectionMargins.
873         * rendering/RenderBox.h:
874         (RenderBox):
875         * rendering/RenderDeprecatedFlexibleBox.cpp:
876         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox): Switch to computeAndSetBlockDirectionMargins
877         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox): Switch to computeAndSetBlockDirectionMargins
878         * rendering/RenderTableRow.cpp:
879         (WebCore::RenderTableRow::layout): Switch to computeAndSetBlockDirectionMargins
880
881 2012-08-30  Dirk Schulze  <krit@webkit.org>
882
883         Introduce new CSS property for clip-path
884         https://bugs.webkit.org/show_bug.cgi?id=95474
885
886         Reviewed by Tim Horton.
887
888         This path introduces the new, prefixed CSS property 'clip-path' from the
889         CSS Masking specification. In a first step the property just accepts
890         'none' and the the basic shapes from CSS Exclusion. Later it will also be
891         possible to reference SVG 'clipPath' elements - like Firefox already does.
892         To enable the parsing of the shapes, the exclusion compiler flags
893         around the shape parser were removed.
894
895         http://dvcs.w3.org/hg/FXTF/raw-file/tip/masking/index.html
896
897         Test: fast/masking/parsing-clip-path-shape.html
898
899         * css/CSSComputedStyleDeclaration.cpp:
900         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Return CSSValue for CSSPropertyWebkitClipPath.
901         * css/CSSParser.cpp: 
902         (WebCore::CSSParser::parseValue): Add CSSPropertyWebkitClipPath.
903         (WebCore::CSSParser::parseBasicShape): Modify parser function to accept CSSPropertyWebkitClipPath as well.
904         * css/CSSParser.h:
905         * css/CSSProperty.cpp:
906         (WebCore::CSSProperty::isInheritedProperty):
907         * css/CSSPropertyNames.in: Added property name -webkit-clip-path.
908         * css/StyleBuilder.cpp:
909         (ApplyPropertyClipPath): New property applier just for -webkit-clip-path.
910         (WebCore::ApplyPropertyClipPath::setValue):
911         (WebCore::ApplyPropertyClipPath::applyValue):
912         (WebCore::ApplyPropertyClipPath::createHandler):
913         (WebCore::StyleBuilder::StyleBuilder):
914         * rendering/style/RenderStyle.cpp: Repaint if there is a difference between two BasicShapes.
915         (WebCore::RenderStyle::diff):
916         * rendering/style/RenderStyle.h:
917         * rendering/style/StyleRareNonInheritedData.cpp: 
918         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
919         (WebCore::StyleRareNonInheritedData::operator==):
920         (WebCore::StyleRareNonInheritedData::reportMemoryUsage):
921         * rendering/style/StyleRareNonInheritedData.h: Add new member variable for clip shape.
922         (StyleRareNonInheritedData):
923
924 2012-08-31  Joshua Netterfield  <jnetterfield@rim.com>
925
926         [BlackBerry] Eliminate WebGL IT policy
927         https://bugs.webkit.org/show_bug.cgi?id=95604
928         Internal RIM PR #198764
929
930         Reviewed by Rob Buis.
931
932         This is no longer a requirement for the BlackBerry port.
933
934         No new tests, because this introduces no new functionality.
935
936         * html/canvas/WebGLRenderingContext.cpp:
937         (WebCore):
938         (WebCore::WebGLRenderingContext::create):
939
940 2012-08-31  Jon Lee  <jonlee@apple.com>
941
942         ondisplay event handlers are not called
943         https://bugs.webkit.org/show_bug.cgi?id=95263
944         <rdar://problem/12193359>
945
946         Reviewed by Alexey Proskuryakov.
947
948         To support the legacy API, we conflate ondisplay and onshow.
949
950         * Modules/notifications/Notification.h:
951         (WebCore::Notification::ondisplay): Use display event as an alias for the show event.
952         (WebCore::Notification::setOndisplay):
953
954 2012-08-31  Tony Chang  <tony@chromium.org>
955
956         Remove ENABLE_CSS3_FLEXBOX compile time flag
957         https://bugs.webkit.org/show_bug.cgi?id=95382
958
959         Reviewed by Ojan Vafai.
960
961         Everyone is already enabling this by default and the spec has stablized.
962
963         No new tests, shouldn't change anything.
964
965         * Configurations/FeatureDefines.xcconfig:
966         * GNUmakefile.am:
967         * GNUmakefile.features.am:
968         * css/CSSComputedStyleDeclaration.cpp:
969         (WebCore):
970         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
971         * css/CSSParser.cpp:
972         (WebCore::isValidKeywordPropertyAndValue): Expand check range to include flex and inline-flex.
973         (WebCore::isKeywordPropertyID):
974         (WebCore::CSSParser::parseValue):
975         * css/CSSPrimitiveValueMappings.h:
976         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
977         * css/CSSProperty.cpp:
978         (WebCore::CSSProperty::isInheritedProperty):
979         * css/CSSPropertyNames.in:
980         * css/CSSValueKeywords.in:
981         * css/StyleBuilder.cpp:
982         (WebCore::StyleBuilder::StyleBuilder):
983         * css/StylePropertySet.cpp:
984         (WebCore::StylePropertySet::getPropertyValue):
985         (WebCore::StylePropertySet::asText):
986         * css/StylePropertyShorthand.cpp:
987         (WebCore::webkitFlexShorthand):
988         (WebCore::shorthandForProperty):
989         * css/StylePropertyShorthand.h:
990         (WebCore):
991         * css/StyleResolver.cpp:
992         (WebCore::StyleResolver::collectMatchingRulesForList):
993         * page/animation/CSSPropertyAnimation.cpp:
994         (WebCore::CSSPropertyAnimation::ensurePropertyMap):
995         * rendering/RenderObject.cpp:
996         (WebCore::RenderObject::createObject):
997         * rendering/style/RenderStyle.h:
998         * rendering/style/RenderStyleConstants.h:
999
1000 2012-08-31  Christopher Cameron  <ccameron@chromium.org>
1001
1002         [chromium] Add main versus impl thread asserts
1003         https://bugs.webkit.org/show_bug.cgi?id=95596
1004
1005         Reviewed by James Robinson.
1006
1007         Add asserts to prioritized texture manager that specify that a
1008         function be called on the main or impl thread.
1009
1010         Add debug signs that the main thread is blocked to the threaded
1011         proxy.
1012
1013         Add a mechanism to simultaneously set the thread to the impl thread
1014         and indicate that the main thread is blocked.
1015
1016         Update tests that hit asserts in the prioritized texture manager to
1017         set their impl thread and main thread blocked state correctly.
1018
1019         * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
1020         (WebCore::CCPrioritizedTextureManager::prioritizeTextures):
1021         (WebCore::CCPrioritizedTextureManager::clearPriorities):
1022         (WebCore::CCPrioritizedTextureManager::requestLate):
1023         (WebCore::CCPrioritizedTextureManager::acquireBackingTextureIfNeeded):
1024         (WebCore::CCPrioritizedTextureManager::reduceMemory):
1025         (WebCore::CCPrioritizedTextureManager::registerTexture):
1026         (WebCore::CCPrioritizedTextureManager::unregisterTexture):
1027         (WebCore::CCPrioritizedTextureManager::returnBackingTexture):
1028         (WebCore::CCPrioritizedTextureManager::createBacking):
1029         (WebCore::CCPrioritizedTextureManager::assertInvariants):
1030         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
1031         (WebCore):
1032         (DebugScopedSetImplThreadAndMainThreadBlocked):
1033         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1034         (WebCore::CCThreadProxy::compositeAndReadback):
1035         (WebCore::CCThreadProxy::finishAllRendering):
1036         (WebCore::CCThreadProxy::setVisible):
1037         (WebCore::CCThreadProxy::initializeRenderer):
1038         (WebCore::CCThreadProxy::recreateContext):
1039         (WebCore::CCThreadProxy::implSideRenderingStats):
1040         (WebCore::CCThreadProxy::start):
1041         (WebCore::CCThreadProxy::forceSerializeOnSwapBuffers):
1042         (WebCore::CCThreadProxy::acquireLayerTextures):
1043
1044 2012-08-30  James Robinson  <jamesr@chromium.org>
1045
1046         [chromium] Put compositor client interfaces in separate headers, normalize naming
1047         https://bugs.webkit.org/show_bug.cgi?id=95522
1048
1049         Reviewed by Adam Barth.
1050
1051         Client interfaces should be in their own headers so code implementing these interfaces do not have to
1052         transitively #include all of the compositor internals.
1053
1054         We call things 'clients' not 'delegates' in the compositor.
1055
1056         * WebCore.gypi:
1057         * platform/graphics/chromium/ContentLayerChromium.cpp:
1058         (WebCore::ContentLayerPainter::ContentLayerPainter):
1059         (WebCore::ContentLayerPainter::create):
1060         (WebCore::ContentLayerPainter::paint):
1061         (WebCore::ContentLayerChromium::create):
1062         (WebCore::ContentLayerChromium::ContentLayerChromium):
1063         (WebCore::ContentLayerChromium::drawsContent):
1064         (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
1065         * platform/graphics/chromium/ContentLayerChromium.h:
1066         (WebCore):
1067         (ContentLayerPainter):
1068         (ContentLayerChromium):
1069         (WebCore::ContentLayerChromium::clearClient):
1070         * platform/graphics/chromium/TextureLayerChromium.cpp:
1071         * platform/graphics/chromium/TextureLayerChromium.h:
1072         (WebCore):
1073         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1074         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1075         (WebCore):
1076
1077 2012-08-31  Benjamin Poulain  <bpoulain@apple.com>
1078
1079         Fix the Debug builds after r127277
1080
1081         Unreviewed.
1082
1083         One assertion was not updated in r127277. The encapsulation of CSSParserString's length
1084         has changed and now use an accessor.
1085
1086         * css/CSSParser.cpp:
1087         (WebCore::CSSParser::storeVariableDeclaration):
1088
1089 2012-08-31  Simon Fraser  <simon.fraser@apple.com>
1090
1091         (Regression: r126774): Fix crash when scrolling after removing inline sticky element
1092         https://bugs.webkit.org/show_bug.cgi?id=95584
1093
1094         Reviewed by Dave Hyatt.
1095
1096         Move fixed/sticky registration and unregistration with the FrameView from
1097         RenderBox and RenderInline into RenderBoxModelObject, which also
1098         fixes the issue that inlines didn't unregister themselves on destruction.
1099
1100         Test: fast/css/sticky/remove-inline-sticky-crash.html
1101
1102         * rendering/RenderBox.cpp:
1103         (WebCore::RenderBox::willBeDestroyed): Code moved to RenderBoxModelObject. No need
1104         to null-check style.
1105         (WebCore::RenderBox::styleWillChange): Code moved to RenderBoxModelObject.
1106         * rendering/RenderBoxModelObject.cpp:
1107         (WebCore::RenderBoxModelObject::willBeDestroyed): Remove fixed objects. Check
1108         isPositioned() to avoid this work for most non-positioned renderers.
1109         (WebCore::RenderBoxModelObject::styleWillChange): Register and unregister fixed
1110         and sticky objects with the FrameView.
1111         * rendering/RenderInline.cpp: styleWillChange() is no longer needed.
1112         * rendering/RenderInline.h: Ditto.
1113
1114 2012-08-31  Nikhil Bhargava  <nbhargava@google.com>
1115
1116         Remove extraneous includes (Node.h, Document.h, Element.h, RenderObject.h)
1117         https://bugs.webkit.org/show_bug.cgi?id=95259
1118
1119         Reviewed by Sam Weinig.
1120
1121         Node.h, Document.h, Element.h, and RenderObject.h are four of the most
1122         expensive headers to include. This patch removes them from many of the
1123         places they are not needed. There is a minor compile-time performance
1124         boost.
1125
1126         * dom/ElementShadow.h:
1127         * dom/Range.h:
1128         (WebCore):
1129         * dom/TreeScopeAdopter.h:
1130         (WebCore):
1131         * editing/VisiblePosition.h:
1132         (WebCore):
1133         * html/HTMLCollection.h:
1134         (WebCore):
1135         * html/parser/HTMLElementStack.h:
1136         * html/parser/HTMLTreeBuilder.h:
1137         (WebCore):
1138         * html/track/WebVTTParser.h:
1139         (WebCore):
1140         * inspector/InspectorCSSAgent.h:
1141         (WebCore):
1142         * inspector/InspectorInstrumentation.h:
1143         (WebCore):
1144         * inspector/InspectorOverlay.h:
1145         * loader/ImageLoader.h:
1146         * loader/TextTrackLoader.h:
1147         (WebCore):
1148         * platform/chromium/PopupListBox.cpp:
1149         * platform/chromium/PopupListBox.h:
1150         (WebCore):
1151         * platform/graphics/MediaPlayer.h:
1152         (WebCore):
1153         * rendering/FilterEffectRenderer.h:
1154         * rendering/InlineFlowBox.cpp:
1155         * rendering/RenderCounter.cpp:
1156         * rendering/RenderGeometryMap.h:
1157         (WebCore):
1158         * rendering/RenderInputSpeech.h:
1159         (WebCore):
1160         * rendering/RenderMediaControls.h:
1161         (WebCore):
1162         * rendering/RenderMediaControlsChromium.h:
1163         (WebCore):
1164         * rendering/RenderQuote.cpp:
1165         * rendering/RenderQuote.h:
1166         (WebCore):
1167         * rendering/RenderScrollbar.h:
1168         (WebCore):
1169         * rendering/RenderText.h:
1170         (WebCore):
1171         * rendering/RenderTheme.h:
1172         (WebCore):
1173         * rendering/RenderThemeChromiumSkia.h:
1174         (WebCore):
1175         * rendering/svg/RenderSVGResourceMarker.h:
1176         (WebCore):
1177         * svg/graphics/filters/SVGFilterBuilder.h:
1178         (WebCore):
1179         * xml/NativeXPathNSResolver.h:
1180         (WebCore):
1181         (NativeXPathNSResolver):
1182         (WebCore::NativeXPathNSResolver::create):
1183         * xml/XPathStep.h:
1184         (WebCore):
1185         (XPath):
1186         (Step):
1187         (NodeTest):
1188         (WebCore::XPath::Step::NodeTest::NodeTest):
1189         (WebCore::XPath::Step::NodeTest::kind):
1190         (WebCore::XPath::Step::NodeTest::data):
1191         (WebCore::XPath::Step::NodeTest::namespaceURI):
1192         (WebCore::XPath::Step::NodeTest::mergedPredicates):
1193         (WebCore::XPath::Step::axis):
1194         (WebCore::XPath::Step::nodeTest):
1195         * xml/parser/NewXMLDocumentParser.cpp:
1196         * xml/parser/NewXMLDocumentParser.h:
1197         (WebCore):
1198         * xml/parser/XMLToken.h:
1199         * xml/parser/XMLTreeBuilder.cpp:
1200         * xml/parser/XMLTreeBuilder.h:
1201         (WebCore):
1202
1203 2012-08-31  David Hyatt  <hyatt@apple.com>
1204
1205         [New Multicolumn] Implement column repainting.
1206         https://bugs.webkit.org/show_bug.cgi?id=95593
1207
1208         Reviewed by Dan Bernstein.
1209         
1210         Make the new columns repaint properly. Note this code is a significant improvement over the
1211         old multicolumn code in that repaints are properly issued per-column, i.e., no more fuzzy
1212         uniting of rects.
1213
1214         * rendering/RenderMultiColumnSet.cpp:
1215         (WebCore::RenderMultiColumnSet::columnIndexAtOffset):
1216         (WebCore):
1217         (WebCore::RenderMultiColumnSet::repaintFlowThreadContent):
1218         * rendering/RenderMultiColumnSet.h:
1219
1220 2012-08-31  Alok Priyadarshi  <alokp@chromium.org>
1221
1222         [chromium] Layout tests svg-filters.html and alpha.html are crashing intermittently
1223         https://bugs.webkit.org/show_bug.cgi?id=92660
1224
1225         Reviewed by James Robinson.
1226
1227         We use two GL contexts to create and upload tile textures.
1228         One context creates the texture, while another uploads it.
1229         Even though the texture is shared by the two contexts, it is not
1230         available to the uploading context immediately after creation,
1231         unless the creating context is flushed. 
1232
1233         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
1234         (WebCore::createAcceleratedCanvas):
1235         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
1236
1237 2012-08-31  David Hyatt  <hyatt@apple.com>
1238
1239         [New Multicolumn] Refactor flow thread repainting.
1240         https://bugs.webkit.org/show_bug.cgi?id=95586
1241
1242         Reviewed by Simon Fraser.
1243
1244         Refactor flow thread repainting in regions to delegate the work to the region. This allows subclasses
1245         to customize how the repainting happens so that individual repaints can be issued for columns and pages
1246         inside sets.
1247         
1248         repaintFlowThreadContent is the new virtual function that can be subclassed by sets to customize
1249         the repaint process.
1250         
1251         repaintFlowThreadContentRectangle is a parameterized helper that will be called for each individual
1252         column and page in a set.
1253
1254         * WebCore.exp.in:
1255         Change repaintRectangle's signature to be const.
1256
1257         * rendering/RenderFlowThread.cpp:
1258         (WebCore::RenderFlowThread::repaintRectangleInRegions):
1259         Now delegates the work for each region to RenderRegion::repaintFlowThreadContent.
1260
1261         * rendering/RenderObject.cpp:
1262         (WebCore::RenderObject::repaintUsingContainer):
1263         (WebCore::RenderObject::repaint):
1264         (WebCore::RenderObject::repaintRectangle):
1265         (WebCore::RenderObject::isRooted):
1266         * rendering/RenderObject.h:
1267         Change a bunch of functions to be const.
1268
1269         * rendering/RenderRegion.cpp:
1270         (WebCore::RenderRegion::repaintFlowThreadContent):
1271         (WebCore):
1272         (WebCore::RenderRegion::repaintFlowThreadContentRectangle):
1273         * rendering/RenderRegion.h:
1274         (RenderRegion):
1275         Add the two new functions (the virtual repaintFlowThreadContent and the helper it
1276         uses, repaintFlowThreadContentRectangle).
1277
1278 2012-08-31  Yong Li  <yoli@rim.com>
1279
1280         [BlackBerry] Disable GCController timer for PLATFORM(BLACKBERRY)
1281         https://bugs.webkit.org/show_bug.cgi?id=93007
1282
1283         Reviewed by Rob Buis.
1284
1285         Disable GCController timer.
1286
1287         * bindings/js/GCController.cpp:
1288         (WebCore::GCController::GCController):
1289         (WebCore::GCController::garbageCollectSoon):
1290         (WebCore):
1291         * bindings/js/GCController.h:
1292         (GCController):
1293
1294 2012-08-31  Michael Saboff  <msaboff@apple.com>
1295
1296         CSS Parser should directly parse 8 bit source strings
1297         https://bugs.webkit.org/show_bug.cgi?id=95207
1298
1299         Reviewed by Geoffrey Garen.
1300
1301         Changed CSSParser to handle 8 bit strings directly. Templatized most private parsing methods
1302         and helper methods by character type. Introduced several templatized helper methods for
1303         parsing methods. Some of these helper methods have independent source and destination template
1304         types to handle that an 8 bit source string when parsed produces a 16 bit result. This is due
1305         to unicode escapes. Renamed the lex method "realLex" and made it a templated method. The lex
1306         method that is called by cssyylex(), which is now inlined, invokes the correct instance of realLex
1307         via a member function pointer.
1308
1309         Split out the encoding part of parseEscape() into a new templated UnicodeToChars() method.
1310
1311         Added 8/16 bit switching to CSSParserString as well as added initialization, setters and getters.
1312         Note that CSSParserString must have a default constructor as it is part of the YYLVAL union.
1313         Therefore created init() methods instead of constructors. Many of the parser function now directly
1314         modify the instance in yylval. Made supporting changes in other webcore classes that are used
1315         directly by CSSParser.
1316
1317         Test: fast/css/unicode-escape-in-8bit-string.html
1318
1319         * css/CSSGrammar.y: Removed cssyylex() and changed manipulation of CSSParserString objects to
1320         use newly written methods instead of direct manipulation of attributes.
1321
1322         * css/CSSParser.cpp:
1323         Templatized new or existing helper methods
1324         (WebCore::makeLower):
1325         (WebCore::isCSSLetter):
1326         (WebCore::isCSSEscape):
1327         (WebCore::isURILetter):
1328         (WebCore::isIdentifierStartAfterDash):
1329         (WebCore::isEqualToCSSIdentifier):
1330         (WebCore::checkAndSkipEscape):
1331         (WebCore::checkForValidDouble):
1332         (WebCore::parseDouble):
1333         (WebCore::parseColorIntOrPercentage):
1334         (WebCore::isTenthAlpha):
1335         (WebCore::parseAlphaValue):
1336         (WebCore::mightBeRGBA):
1337         (WebCore::mightBeRGB):
1338         (WebCore::fastParseColorInternal):
1339         (WebCore::CSSParser::fastParseColor):
1340         (WebCore::CSSParser::parseImageSet):
1341         (WebCore::skipWhiteSpace):
1342         (WebCore::CSSParser::currentCharacter16):
1343         (WebCore::CSSParser::isIdentifierStart):
1344         (WebCore::CSSParser::checkAndSkipString):
1345         (WebCore::CSSParser::parseUnicodeRange):
1346         (WebCore::CSSParser::parseNthChild):
1347         (WebCore::CSSParser::parseNthChildExtra):
1348         (WebCore::CSSParser::detectFunctionTypeToken):
1349         (WebCore::CSSParser::detectMediaQueryToken):
1350         (WebCore::CSSParser::detectNumberToken):
1351         (WebCore::CSSParser::detectDashToken):
1352         (WebCore::CSSParser::detectAtToken):
1353         (WebCore::CSSParser::setRuleHeaderEnd):
1354         (WebCore::cssPropertyID):
1355         (WebCore::isCSSTokenizerIdentifier):
1356         (WebCore::isCSSTokenizerURL):
1357
1358         (WebCore::CSSParser::CSSParser): Updated constructor for initializing new attributes.
1359
1360         (WebCore::CSSParserString::lower): Calls new makeLower() template helper.
1361
1362         (WebCore::CSSParser::setupParser): Added 8 bit path and set up parser appropriate to
1363         string type.
1364
1365         (WebCore::equal): Updated to use CSSParserString getters and StringImpl::equal
1366         (WebCore::equalIgnoringCase): Updated to use CSSParserString getters and
1367         StringImpl::equalIgnoringCase
1368         (WebCore::parseColorValue): Updated to use new CSSParserString::init()
1369         (WebCore::parseSimpleLength):
1370         (WebCore::parseKeywordValue): Updated to use new CSSParserString::init()
1371         (WebCore::parseTransformArguments):
1372         (WebCore::CSSParser::parseSystemColor): Updated to use new CSSParserString::init()
1373         (WebCore::CSSParser::storeVariableDeclaration): Create right character sized AtomicString.
1374         (WebCore::FontFamilyValueBuilder::add):
1375         (WebCore::TransformOperationInfo::TransformOperationInfo):
1376         (WebCore::CSSParser::parseFontFeatureTag):
1377
1378         (WebCore::CSSParser::parseEscape): Now only parses an escape and returns the resulting
1379         Unicode value as an unsigned.
1380         (WebCore::CSSParser::UnicodeToChars): New method to write out unicode character(s)
1381         based on character type.
1382         (WebCore::CSSParser::parseIdentifierInternal): Templated helper.
1383         (WebCore::CSSParser::parseIdentifier): Parses identifiers, possibly upconverting
1384         the result when a unicode escape is found in an 8 bit source.
1385         (WebCore::CSSParser::parseStringInternal): Templated helper.
1386         (WebCore::CSSParser::parseString): Parses strings, possibly upconverting
1387         the result when a unicode escape is found in an 8 bit source.
1388         (WebCore::CSSParser::parseURIInternal): Templated helper.
1389         (WebCore::CSSParser::parseURI): Templated and split logic out to parseURIInternal.
1390         Reparses a parsed identifier to see if it is a URI.  This method doesn't need to up
1391         convert from 8 to 16 bits since that would have been done in parseIdentfier().
1392         (WebCore::CSSParser::realLex): Lot of template related changes.  Removed yylval->string
1393         ASSERT checks at the end, since they are too naive to handle upconverted identifier,
1394         string and URIs.  They compared source pointers (m_tokenStart) with resulting strings.
1395         (WebCore::fixUnparsedProperties):
1396         (WebCore::CSSParser::fixUnparsedPropertyRanges): Added new template helper with same name.
1397         (WebCore::CSSParser::markRuleHeaderStart):
1398         (WebCore::CSSParser::markRuleHeaderEnd):
1399         (WebCore::CSSParser::markRuleBodyStart):
1400         (WebCore::CSSParser::markRuleBodyEnd):
1401         (WebCore::CSSParser::markPropertyStart):
1402         (WebCore::CSSParser::markPropertyEnd):
1403         (WebCore::cssValueKeywordID):
1404
1405         * css/CSSParser.h:
1406         (CSSParser):
1407         (WebCore::CSSParser::lex): Made this inline helper that calls correct realLex().
1408         (WebCore::CSSParser::is8BitSource):
1409         (WebCore::CSSParser::tokenStartOffset): Templated method returning offset in source
1410         of the current token start.
1411         (WebCore::CSSParser::tokenStartChar): Templated access to m_tokenStart.
1412         (WebCore::cssyylex): Made this inline to avoid call.
1413         * css/CSSParserValues.h:
1414         (WebCore::CSSParserString::init): Added three new initialization methods.
1415
1416         New setters, getters and helper methods.
1417         (WebCore::CSSParserString::clear):
1418         (WebCore::CSSParserString::is8Bit):
1419         (WebCore::CSSParserString::characters8):
1420         (WebCore::CSSParserString::characters16):
1421         (WebCore::CSSParserString::length):
1422         (WebCore::CSSParserString::setLength):
1423         (WebCore::CSSParserString::operator[]):
1424         (WebCore::CSSParserString::equalIgnoringCase):
1425         (WebCore::CSSParserString::operator String):
1426         (WebCore::CSSParserString::operator AtomicString):
1427
1428         Other methods templatized to support changes in CSSParser.
1429         * platform/graphics/Color.cpp:
1430         (WebCore::parseHexColorInternal):
1431         (WebCore::Color::parseHexColor): New LChar flavor
1432         (WebCore::Color::Color):
1433         * platform/graphics/Color.h:
1434         (Color):
1435         * platform/text/TextEncoding.cpp:
1436         (WebCore::TextEncoding::TextEncoding):
1437         * platform/text/TextEncodingRegistry.cpp:
1438         (WebCore::atomicCanonicalTextEncodingName):
1439         * platform/text/TextEncodingRegistry.h:
1440         * svg/SVGParserUtilities.cpp:
1441         (WebCore::genericParseNumber):
1442         (WebCore::parseSVGNumber):
1443         * svg/SVGParserUtilities.h:
1444         (WebCore::isSVGSpace):
1445         (WebCore::skipOptionalSVGSpaces):
1446         (WebCore::skipOptionalSVGSpacesOrDelimiter):
1447
1448 2012-08-31  David Hyatt  <hyatt@apple.com>
1449
1450         [New Multicolumn] Make RenderFlowThreads into selection roots.
1451         https://bugs.webkit.org/show_bug.cgi?id=95580
1452
1453         Reviewed by Dan Bernstein.
1454
1455         Make RenderFlowThreads selection roots so that they paint their own selection gaps.
1456         This fixes multicolumn selection rendering so that the gaps paint correctly and stop
1457         at the edge of the flow thread instead of going out to the edges of enclosing blocks.
1458
1459         * rendering/RenderBlock.cpp:
1460         (WebCore::RenderBlock::isSelectionRoot):
1461
1462 2012-08-31  Andrei Bucur  <abucur@adobe.com>
1463
1464         [CSS Regions] It should be possible to specify ::BEFORE/AFTER as regions
1465         https://bugs.webkit.org/show_bug.cgi?id=90079
1466
1467         Reviewed by David Hyatt.
1468
1469         The calls for RenderRegion::node() have been replaced with RenderRegion::generatingNode() to allow pseudo-elements to have RenderRegion renderers.
1470         The compare function that establishes the region order was adapted to take into account pseudo-regions.
1471         A renderer for the pseudo-element is now generated if it's a region even though there's no content property specified.
1472
1473         Test: fast/regions/content-flowed-into-pseudo-regions.html
1474
1475         * rendering/RenderFlowThread.cpp:
1476         (WebCore::RenderFlowThread::computeOverflowStateForRegions):
1477         * rendering/RenderNamedFlowThread.cpp:
1478         (WebCore::compareRenderRegions):
1479         * rendering/RenderObjectChildList.cpp:
1480         (WebCore::ensureBeforeAfterContainer):
1481         (WebCore):
1482         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
1483         * rendering/RenderRegion.cpp:
1484         (WebCore::RenderRegion::nodeAtPoint):
1485         (WebCore::RenderRegion::checkRegionStyle):
1486         (WebCore::RenderRegion::computeStyleInRegion):
1487         * rendering/RenderTreeAsText.cpp:
1488         (WebCore::writeRenderNamedFlowThreads):
1489
1490 2012-08-30  David Hyatt  <hyatt@apple.com>
1491
1492         [New Multicolumn] Implement unforced breaking in the new column layout.
1493         https://bugs.webkit.org/show_bug.cgi?id=95498
1494
1495         Reviewed by Dan Bernstein.
1496
1497         This patch implements unforced breaking for lines and objects inside columns. Forced breaks are
1498         not yet handled properly and will be covered in a separate patch.
1499
1500         * rendering/LayoutState.cpp:
1501         (WebCore::LayoutState::LayoutState):
1502         Eliminate the flow thread constructor for LayoutState. Flow threads were doing a double push of
1503         layout states, once in RenderFlowThread::layout() and then again in RenderBlock::layout(). This
1504         double push was unnecessary, so I refactored the code to ensure the RenderBlock push does the
1505         right thing for RenderFlowThreads.
1506
1507         (WebCore):
1508         * rendering/LayoutState.h:
1509         (LayoutState):
1510         Eliminate the flow thread constructor for LayoutState.
1511
1512         * rendering/RenderBlock.cpp:
1513         (WebCore::RenderBlock::checkForPaginationLogicalHeightChange):
1514         This function now handles RenderFlowThreads and properly sets a non-zero page height as well
1515         as querying the flow thread to ask if the pagination logical height has changed. The flow thread
1516         has a new member that it sets in layout() so that it can answer this question.
1517
1518         (WebCore::RenderBlock::hasNextPage):
1519         Make sure RenderRegionSets always claim to have a next page when they are the last region, since
1520         we know columns/pages can always generate additional boxes as needed.
1521
1522         * rendering/RenderFlowThread.cpp:
1523         (WebCore::RenderFlowThread::RenderFlowThread):
1524         Add the m_pageLogicalHeightChanged member variable for tracking whether regions changed dimensions,
1525         thus forcing us to repaginate everything.
1526
1527         (WebCore::RenderFlowThread::layout):
1528         Remove the redundant push of layout state now that RenderBlock's covers it.
1529
1530         (WebCore::RenderFlowThread::regionAtBlockOffset):
1531         Always return the last region if it's a set, regardless of the extendLastRegion boolean.
1532         This reflects the fact that the last region set can always generate new page/column boxes.
1533
1534         (WebCore::RenderFlowThread::pageLogicalTopForOffset):
1535         Refactored to call into the region it finds for a given offset, so that the region itself
1536         can answer the question of where the top of the page is. This enables sets to return the top of
1537         specific columns/pages within the set.
1538
1539         (WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset):
1540         Changed to be written in terms of pageLogicalTop and pageLogicalHeight so that it correctly uses
1541         only the current column/page when determining remaining height.
1542
1543         * rendering/RenderFlowThread.h:
1544         Added pageLogicalHeightChanged() so that RenderBlock can ask the flow thread if its regions changed
1545         dimensions.
1546
1547         * rendering/RenderMultiColumnBlock.cpp:
1548         (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
1549         Tweaked to no longer turn on pagination, since the RenderMultiColumnFlowThread does that and we
1550         want to avoid a double push of paginated states. Instead it now just sets the column height ahead
1551         of time so that the RenderMultiColumnSets know how big their columns are.
1552
1553         * rendering/RenderMultiColumnSet.cpp:
1554         (WebCore::RenderMultiColumnSet::pageLogicalTopForOffset):
1555         Subclassed to return the top of a specific column.
1556
1557         (WebCore):
1558         * rendering/RenderMultiColumnSet.h:
1559         Add the subclassed method for pageLogicalTopForOffset.
1560         
1561         * rendering/RenderRegion.cpp:
1562         (WebCore::RenderRegion::pageLogicalTopForOffset):
1563         The code from RenderFlow::pageLogicalTopForOffset moved here. Just returns the top of the flow
1564         thread portion rect in the region (same as before).
1565
1566         (WebCore::RenderRegion::layout):
1567         Changed to check only the page logical width and height, since we only consider a region as
1568         invalidating how you break if there is an actual page height change.
1569
1570         * rendering/RenderRegion.h:
1571         (WebCore::RenderRegion::isRenderRegionSet):
1572         Added an isRenderRegionSet() virtual function so that we can test for sets.
1573
1574         * rendering/RenderRegionSet.h:
1575         (WebCore::RenderRegionSet::isRenderRegionSet):
1576         Subclassed isRenderRegionSet() to return true.
1577
1578         * rendering/RenderView.cpp:
1579         * rendering/RenderView.h:
1580         (LayoutStateMaintainer):
1581         (WebCore::LayoutStateMaintainer::push):
1582         Remove the pushes of LayoutState that were specific to RenderFlowThreads.
1583
1584 2012-08-31  Pavel Feldman  <pfeldman@chromium.org>
1585
1586         Web Inspector: Update $ to alias to querySelector rather than getElementById
1587         https://bugs.webkit.org/show_bug.cgi?id=92648
1588
1589         Reviewed by Yury Semikhatsky.
1590
1591         Completed implementation started by Addy Osmani. Updates $ to alias to querySelector
1592         with more flexible handling of selectors. Also adds a warning about the change (as per Firebug).
1593
1594         * inspector/InjectedScriptSource.js:
1595         (.):
1596
1597 2012-08-31  Andrey Kosyakov  <caseq@chromium.org>
1598
1599         Web Inspector: disable popover on click outside of popover anchor
1600         https://bugs.webkit.org/show_bug.cgi?id=95564
1601
1602         Reviewed by Yury Semikhatsky.
1603
1604         Immediately hide popover when receiving a click outside of popover anchor.
1605
1606         * inspector/front-end/Popover.js:
1607         (WebInspector.PopoverHelper.prototype._mouseDown):
1608
1609 2012-08-31  Christophe Dumez  <christophe.dumez@intel.com>
1610
1611         [EFL] Add proper support for navigator.onLine and associated events
1612         https://bugs.webkit.org/show_bug.cgi?id=95532
1613
1614         Reviewed by Kenneth Rohde Christiansen.
1615
1616         Add support for detecting online state in EFL port and
1617         monitor state changes. The EFL port now has proper
1618         support for navigator.onLine and associated events.
1619
1620         The implementation is based on Eeze library for
1621         detecting network interfaces and their configuration.
1622         Detection of online state changes relies on rtnetlink.
1623
1624         No new tests, no behavior change for layout tests.
1625
1626         * PlatformEfl.cmake: Link unconditionally against Eeze
1627         library now.
1628         * platform/network/NetworkStateNotifier.cpp:
1629         (WebCore):
1630         * platform/network/NetworkStateNotifier.h:
1631         (NetworkStateNotifier):
1632         (WebCore):
1633         * platform/network/efl/NetworkStateNotifierEfl.cpp: Added.
1634         (WebCore):
1635         (WebCore::NetworkStateNotifier::updateState):
1636         (WebCore::NetworkStateNotifier::networkInterfaceChanged):
1637         (WebCore::readSocketCallback):
1638         (WebCore::NetworkStateNotifier::~NetworkStateNotifier):
1639         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
1640
1641 2012-08-31  Milian Wolff  <milian.wolff@kdab.com>
1642
1643         [Qt] QNX build fails due to missing OpenGL ES defines
1644         https://bugs.webkit.org/show_bug.cgi?id=95554
1645
1646         Reviewed by Simon Hausmann.
1647
1648         Apply the fix of bug 91030 to all platforms running on QNX.
1649
1650         * platform/graphics/opengl/Extensions3DOpenGLES.h:
1651
1652 2012-08-31  Thiago Marcos P. Santos  <thiago.santos@intel.com>
1653
1654         [CMake] Changes on the bindings generator does not trigger generation of the bindings
1655         https://bugs.webkit.org/show_bug.cgi?id=95552
1656
1657         Reviewed by Kenneth Rohde Christiansen.
1658
1659         Added the engine especific part of the generator to the dependency
1660         list.
1661
1662         * UseJSC.cmake:
1663         * UseV8.cmake:
1664
1665 2012-08-31  Andrey Adaikin  <aandrey@chromium.org>
1666
1667         Web Inspector: [WebGL] Link WebGL calls to the source code where it was made
1668         https://bugs.webkit.org/show_bug.cgi?id=95426
1669
1670         Reviewed by Vsevolod Vlasov.
1671
1672         Save a stack trace for every call we capture and report to the frontend sourceURL,lineNumber,columnNumber were the call was made from.
1673         Right now, this will work only with V8.
1674
1675         * inspector/InjectedScriptExterns.js:
1676         (CallSite.prototype.getFileName):
1677         (CallSite.prototype.getLineNumber):
1678         (CallSite.prototype.getColumnNumber):
1679         * inspector/InjectedScriptWebGLModuleSource.js:
1680         (.):
1681         * inspector/Inspector.json:
1682         * inspector/front-end/WebGLProfileView.js:
1683         (WebInspector.WebGLProfileView):
1684         (WebInspector.WebGLProfileView.prototype._showTraceLog):
1685
1686 2012-08-31  Patrick Dubroy  <dubroy@chromium.org>
1687
1688         Web Inspector: Add high-DPI images for status bar glyphs
1689         https://bugs.webkit.org/show_bug.cgi?id=95471
1690
1691         Reviewed by Pavel Feldman.
1692
1693         Add the new 2x resolution image for the status bar glyphs, and add
1694         media queries to use the images on high-DPI devices.
1695
1696         * inspector/front-end/Images/statusbarButtonGlyphs2x.png: Added.
1697         * inspector/front-end/WebKit.qrc:
1698         * inspector/front-end/inspector.css:
1699         (.long-click-glyph):
1700         (@media (-webkit-min-device-pixel-ratio: 1.5)):
1701         (.status-bar-item > .glyph):
1702         * inspector/front-end/scriptsPanel.css:
1703         (.toggle-breakpoints .glyph):
1704         (@media (-webkit-min-device-pixel-ratio: 1.5)):
1705         (.status-bar-item.scripts-navigator-show-hide-button > .glyph):
1706         (.status-bar-item.scripts-debugger-show-hide-button > .glyph):
1707         * WebCore.gypi
1708         * inspector/front-end/timelinePanel.css:
1709         (#timeline-overview-sidebar .icon):
1710         (@media (-webkit-min-device-pixel-ratio: 1.5)):
1711
1712 2012-08-30  Pavel Feldman  <pfeldman@chromium.org>
1713
1714         Web Inspector: render box model elements and grid on inspector overlay
1715         https://bugs.webkit.org/show_bug.cgi?id=95456
1716
1717         Reviewed by Vsevolod Vlasov.
1718
1719         This change migrates native rendering for box model to the InspectorOverlay.
1720
1721         * inspector/InspectorInstrumentation.cpp:
1722         (WebCore):
1723         (WebCore::InspectorInstrumentation::didScrollImpl):
1724         * inspector/InspectorInstrumentation.h:
1725         (InspectorInstrumentation):
1726         (WebCore::InspectorInstrumentation::didScroll):
1727         (WebCore):
1728         * inspector/InspectorOverlay.cpp:
1729         (WebCore::InspectorOverlay::drawNodeHighlight):
1730         (WebCore::InspectorOverlay::drawRectHighlight):
1731         (WebCore::InspectorOverlay::overlayPage):
1732         (WebCore::InspectorOverlay::evaluateInOverlay):
1733         * inspector/InspectorOverlay.h:
1734         (WebCore::Highlight::setColors):
1735         (Highlight):
1736         (InspectorOverlay):
1737         * inspector/InspectorOverlayPage.html:
1738         * inspector/InspectorPageAgent.cpp:
1739         (WebCore::InspectorPageAgent::didLayout):
1740         (WebCore):
1741         (WebCore::InspectorPageAgent::didScroll):
1742         * inspector/InspectorPageAgent.h:
1743         * page/Chrome.cpp:
1744         (WebCore::Chrome::scroll):
1745
1746 2012-08-31  Andrey Adaikin  <aandrey@chromium.org>
1747
1748         Web Inspector: [WebGL] Make wrap functions initialization lazy
1749         https://bugs.webkit.org/show_bug.cgi?id=95533
1750
1751         Reviewed by Vsevolod Vlasov.
1752
1753         WebGL wrap functions initialization is not always needed to be executed: for example, when we will instrument a 2D canvas.
1754         Drive-by: fixed variable namings, moved duplicated code into a small auxiliary function.
1755
1756         * inspector/InjectedScriptWebGLModuleSource.js:
1757         (.):
1758
1759 2012-08-31  Simon Hausmann  <simon.hausmann@nokia.com>
1760
1761         [Qt] Port convertValueToQVariant to use the JSC C API
1762         https://bugs.webkit.org/show_bug.cgi?id=94695
1763
1764         Reviewed by Kenneth Rohde Christiansen.
1765
1766         Most of the code is portable to the C API, with a few exceptions for internal
1767         types such as byte arrays, dates or when unboxing primitive types.
1768
1769         * bridge/qt/qt_instance.cpp:
1770         (JSC::Bindings::QtField::setValueToInstance):
1771         * bridge/qt/qt_runtime.cpp:
1772         (JSC::Bindings::operator<<):
1773         (JSC::Bindings::isJSUint8ClampedArray):
1774         (JSC::Bindings::isJSArray):
1775         (Bindings):
1776         (JSC::Bindings::isJSDate):
1777         (JSC::Bindings::isQtObject):
1778         (JSC::Bindings::valueRealType):
1779         (JSC::Bindings::toString):
1780         (JSC::Bindings::unwrapBoxedPrimitive):
1781         (JSC::Bindings::convertValueToQVariantMap):
1782         (JSC::Bindings::convertToList):
1783         (JSC::Bindings::toQString):
1784         (JSC::Bindings::getGregorianDateTimeUTC):
1785         (JSC::Bindings::toQDateTimeUTC):
1786         (JSC::Bindings::convertValueToQVariant):
1787         (JSC::Bindings::findMethodIndex):
1788         (JSC::Bindings::QtConnectionObject::execute):
1789         * bridge/qt/qt_runtime.h:
1790         (Bindings):
1791
1792 2012-08-31  Pavel Feldman  <pfeldman@chromium.org>
1793
1794         Web Inspector: render path to file and line number as subtitles in selector dialog.
1795         https://bugs.webkit.org/show_bug.cgi?id=95481
1796
1797         Reviewed by Vsevolod Vlasov.
1798
1799         In case several files have matching names, we should render the path next to it.
1800         Using the same subtitle field, we now also render line number for JS and Style outlines.
1801
1802         * inspector/front-end/FilteredItemSelectionDialog.js:
1803         (WebInspector.FilteredItemSelectionDialog.prototype.get _itemsLoaded):
1804         (WebInspector.FilteredItemSelectionDialog.prototype._createItemElement):
1805         (WebInspector.FilteredItemSelectionDialog.prototype._filterItems):
1806         (WebInspector.SelectionDialogContentProvider.prototype.itemSuffixAt):
1807         (WebInspector.JavaScriptOutlineDialog.prototype.itemSuffixAt):
1808         (WebInspector.JavaScriptOutlineDialog.prototype.itemSubtitleAt):
1809         (WebInspector.OpenResourceDialog.prototype.itemSuffixAt):
1810         (WebInspector.OpenResourceDialog.prototype.itemSubtitleAt):
1811         * inspector/front-end/StyleSheetOutlineDialog.js:
1812         (WebInspector.StyleSheetOutlineDialog.prototype.itemSuffixAt):
1813         (WebInspector.StyleSheetOutlineDialog.prototype.itemSubtitleAt):
1814         * inspector/front-end/filteredItemSelectionDialog.css:
1815         (.js-outline-dialog > .container > div.item):
1816         (.js-outline-dialog span.subtitle):
1817
1818 2012-08-31  Yoshifumi Inoue  <yosin@chromium.org>
1819
1820         [Forms] Left/Right keys in multiple fields time input UI should move focus physical left/right instead of logical left/right regardless text direction.
1821         https://bugs.webkit.org/show_bug.cgi?id=95434
1822
1823         Reviewed by Kent Tamura.
1824
1825         This patch also changes handling of Left/Right keys to aware text
1826         direction ("dir" attribute"). Left/Right keys should move focus
1827         physical right/left instead of logical right/left.
1828
1829         This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
1830         ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
1831
1832         No new tests. This patch adds a test case into fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html
1833
1834         * html/shadow/DateTimeFieldElement.cpp:
1835         (WebCore::DateTimeFieldElement::defaultKeyboardEventHandler): Changed to check isRTL() for Left/Right keys then we call
1836         appropriate focus motion function.
1837         (WebCore::DateTimeFieldElement::isRTL): Added for checking text direction is right-to-left or not.
1838         * html/shadow/DateTimeFieldElement.h:
1839         (DateTimeFieldElement): Added declaration of isRTL().
1840
1841 2012-08-30  Yoshifumi Inoue  <yosin@chromium.org>
1842
1843         [Forms] Blur from field should reset typeahead buffer in multiple fields time input UI
1844         https://bugs.webkit.org/show_bug.cgi?id=95525
1845
1846         Reviewed by Kent Tamura.
1847
1848         This patch changes to reset typeahead timer used in DateTimeNumericFieldElement
1849         on blur from field. It is intuitive that not merging keyboard inputs
1850         with interleaving focus motion, e.g. sequence type "1", type Tab, type
1851         Shift+Tab, type "2" should set field to "2" instead of "12".
1852
1853         This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
1854         ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
1855
1856         No new tests. This patch adds a test case into fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html
1857
1858         * html/shadow/DateTimeNumericFieldElement.cpp:
1859         (WebCore::DateTimeNumericFieldElement::didBlur): Added to reset typeahead timer, m_lastDigitCharTime.
1860         * html/shadow/DateTimeNumericFieldElement.h:
1861         (DateTimeNumericFieldElement): Added a declaration of didBlur().
1862
1863 2012-08-30 MORITA Hajime  <morrita@google.com>
1864
1865         Unreviewed, followup build fix against r127228.
1866
1867         * dom/Notation.cpp:
1868         (WebCore::Notation::cloneNode):
1869         * dom/Notation.h:
1870         (Notation):
1871
1872 2012-08-30  MORITA Hajime  <morrita@google.com>
1873
1874         Unreviewed, rolling out r126127.
1875         http://trac.webkit.org/changeset/126127
1876
1877         This breaks gobject bindings.
1878
1879         * dom/Attr.cpp:
1880         (WebCore::Attr::cloneNode):
1881         * dom/Attr.h:
1882         * dom/CDATASection.cpp:
1883         (WebCore::CDATASection::cloneNode):
1884         * dom/CDATASection.h:
1885         (CDATASection):
1886         * dom/Comment.cpp:
1887         (WebCore::Comment::cloneNode):
1888         * dom/Comment.h:
1889         (Comment):
1890         * dom/Document.cpp:
1891         (WebCore::Document::cloneNode):
1892         * dom/Document.h:
1893         (Document):
1894         * dom/DocumentFragment.cpp:
1895         (WebCore::DocumentFragment::cloneNode):
1896         * dom/DocumentFragment.h:
1897         (DocumentFragment):
1898         * dom/DocumentType.cpp:
1899         (WebCore::DocumentType::cloneNode):
1900         * dom/DocumentType.h:
1901         (DocumentType):
1902         * dom/Element.cpp:
1903         (WebCore::Element::cloneNode):
1904         * dom/Element.h:
1905         (Element):
1906         * dom/EntityReference.cpp:
1907         (WebCore::EntityReference::cloneNode):
1908         * dom/EntityReference.h:
1909         (EntityReference):
1910         * dom/Node.h:
1911         (Node):
1912         * dom/Node.idl:
1913         * dom/ProcessingInstruction.cpp:
1914         (WebCore::ProcessingInstruction::cloneNode):
1915         * dom/ProcessingInstruction.h:
1916         (ProcessingInstruction):
1917         * dom/ShadowRoot.cpp:
1918         (WebCore::ShadowRoot::cloneNode):
1919         * dom/ShadowRoot.h:
1920         (ShadowRoot):
1921         * dom/Text.cpp:
1922         (WebCore::Text::cloneNode):
1923         * dom/Text.h:
1924         (Text):
1925
1926 2012-08-30  Adam Barth  <abarth@webkit.org>
1927
1928         Loading a worker script should not be O(n^2)
1929         https://bugs.webkit.org/show_bug.cgi?id=95518
1930
1931         Reviewed by Benjamin Poulain.
1932
1933         Previously, we would malloc a new buffer and memcpy the entire worker
1934         script every time we got another packet of data from the network. This
1935         patch uses StringBuilder to accumulate the buffer more efficiently.
1936
1937         * workers/WorkerScriptLoader.cpp:
1938         (WebCore::WorkerScriptLoader::WorkerScriptLoader):
1939         (WebCore::WorkerScriptLoader::didReceiveData):
1940         (WebCore::WorkerScriptLoader::didFinishLoading):
1941         (WebCore):
1942         (WebCore::WorkerScriptLoader::script):
1943         * workers/WorkerScriptLoader.h:
1944         (WorkerScriptLoader):
1945
1946 2012-08-30  Yoshifumi Inoue  <yosin@chromium.org>
1947
1948         [Forms] Shift+Tab should focus the last field of multiple fields time input UI
1949         https://bugs.webkit.org/show_bug.cgi?id=95168
1950
1951         Reviewed by Kent Tamura.
1952
1953         This patch changes focus handling in DateTimeEditElement class for
1954         multiple fields time input UI.
1955
1956         Current implementation controls focus in fields by DateTimeEditElement
1957         and a focus field is tracked m_focusFieldIndex member variable. In
1958         current implementation, it is hard to set focus to the last field when
1959         it gets focus by Shift+Tab, because we don't know how DateTimeEditElement
1960         gets focus.
1961
1962         In this new implementation, DateTimeEditElement doesn't control focus
1963         rather FocusController class controls focus:
1964          - We set focus to DateTimeFieldElement instead of HTMLInputElement
1965            which is shadow host of DateTimeEditElement for controlling focus
1966            by FocusController.
1967          - Focus/blur events in DateTimeFieldElement are routed to HTMLInputElement
1968            by shadow DOM mechanism.
1969          - TimeInputType class overrides HTMLINputElement::blur() and focus()
1970            functions for delegating blur/focus behavior to DateTimeEditElement
1971            by calling DateTimeEditElement::blurByOwner()/focusByOwner().
1972
1973         This patch affects only ports which enable both ENABLE_INPUT_TYPE_TIME
1974         and ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
1975
1976         Tests: fast/forms/time-multiple-fields/time-multiple-fields-blur-and-focus-events.html
1977         This patch also adds a new test case for Shift+Tab into fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html.
1978
1979         * html/TimeInputType.cpp:
1980         (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::didFieldBlur): Added for the input element not to be matched "focus" pseudo class for removing focus ring.
1981         (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::didFieldFocus):  Added for the input element to be matched "focus" pseudo class for adding focus ring.
1982         (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::editControlMouseFocus): Removed. DateTimeEditElement no longer set focus to HTMLInputElement.
1983         (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::focusAndSelectEditControlOwner): Removed. In this patch, settting focus to field is handled by DateTimeEditElement. We don't need to call HTMLInputElement::select() which has no effect for "time" input type.
1984         (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerFocused): Revmoed. FocusController manages focus navigation in fields rather than DateTimeEditElement.
1985         (WebCore::TimeInputType::blur): Added for delegating blur() action to DateTimeEditElement.
1986         (WebCore::TimeInputType::focus): Added for delegating focus() action to DateTimeEditElement.
1987         (WebCore::TimeInputType::handleDOMActivateEvent): Removed. HTMLInputElement for "time" input type no longer get focus.
1988         (WebCore::TimeInputType::hasCustomFocusLogic): Added for asking FocusController to walk into shadow DOM tree on input type "time".
1989         (WebCore::TimeInputType::isKeyboardFocusable): Changed for "input" element not to have focus.
1990         (WebCore::TimeInputType::isMouseFocusable):  Changed for "input" element not to have focus.
1991         * html/TimeInputType.h:
1992         (DateTimeEditControlOwnerImpl): Changed for new definition of DateTimeEditControlOwner.
1993         (TimeInputType): Changed for new definition of DateTimeEditElement.
1994         * html/shadow/DateTimeEditElement.cpp:
1995         (WebCore::DateTimeEditElement::DateTimeEditElement): Removed dropped member variable m_focusFieldIndex.
1996         (WebCore::DateTimeEditElement::blurByOwner): Added for blur() action asekd by owner.
1997         (WebCore::DateTimeEditElement::didBlurFromField): Added for calling DateTimeEditControlOwner::didBlurFromControl().
1998         (WebCore::DateTimeEditElement::didFocusOnField): Added for calling DateTimeEditControlOwner::didFocusOnControl().
1999         (WebCore::DateTimeEditElement::fieldIndexOf): Added for mapping DateTimeFieldElement to field index.
2000         (WebCore::DateTimeEditElement::focusByOwner): Added for focus() action asekd by owner.
2001         (WebCore::DateTimeEditElement::focusFieldAt):  Removed.
2002         (WebCore::DateTimeEditElement::focusedFieldIndex): Added as helper function.
2003         (WebCore::DateTimeEditElement::focusedField): Added.
2004         (WebCore::DateTimeEditElement::focusOnNextField): Changed to pass a field to focusOnNext().
2005         (WebCore::DateTimeEditElement::focusOnPreviousField): ditto.
2006         (WebCore::DateTimeEditElement::focusAndSelectSpinButtonOwner): Changed for setting focus to the first field.
2007         (WebCore::DateTimeEditElement::handleKeyboardEvent): Removed. Moved handling of Left/Right keys to DateTimeFieldElement. Removed Tab-key handling.
2008         (WebCore::DateTimeEditElement::handleMouseEvent): Removed. DateTimeEdit doesn't handle mouse click since this patch.
2009         (WebCore::DateTimeEditElement::layout): Changed to use focusFieldIndex() and DateTimeFieldElement::focus().
2010         (WebCore::DateTimeEditElement::nextFieldIndex): Removed. focusOnNextField does samething and sets focus.
2011         (WebCore::DateTimeEditElement::previousFieldIndex): Removed. focusOnPreviousField does samething and sets focus.
2012         (WebCore::DateTimeEditElement::resetLayout): Changed to remove m_focusFieldIndex variable reference.
2013         (WebCore::DateTimeEditElement::defaultEventHandler): Changed to remove focus navigation related events, blue/focus/mouse, handling.
2014         (WebCore::DateTimeEditElement::shouldSpinButtonRespondToWheelEvents): Changed to check focus field instead of asking owner.
2015         (WebCore::DateTimeEditElement::spinButtonStepDown): Changed to use focusField() instead of m_focusFieldIndex.
2016         (WebCore::DateTimeEditElement::spinButtonStepUp): ditto.
2017         (WebCore::DateTimeEditElement::updateUIState): ditto.
2018         * html/shadow/DateTimeEditElement.h:
2019         (EditControlOwner): Added didBlurFromField() and didFocusOnField() function declarations. Removed focusAndSelectEditControlOwner, it was used for set focus to HTMLInputElement, and isEditControlOwnerFocused.
2020         (DateTimeEditElement):
2021         * html/shadow/DateTimeFieldElement.cpp:
2022         (WebCore::DateTimeFieldElement::defaultEventHandler): Changed to handle blur and focus events.
2023         (WebCore::DateTimeFieldElement::defaultKeyboardEventHandler): Changed to handle Left/Right keys.
2024         (WebCore::DateTimeFieldElement::didBlur): Added to call FieldOwner::didBlurFromField() to remove focus ring from owner element.
2025         (WebCore::DateTimeFieldElement::didFocus): Added to call FieldOwner::didFocusOnField()  to add focus ring to owner element.
2026         (WebCore::DateTimeFieldElement::focusOnNextField): Added for moving focus to next field for DateTimeNumbericFieldElment
2027         (WebCore::DateTimeFieldElement::isFocusable): Added to make DateTimeFieldElement focusable.
2028         (WebCore::DateTimeFieldElement::supportsFocus):  Added to make DateTimeFieldElement focusable.
2029         * html/shadow/DateTimeFieldElement.h:
2030         (FieldOwner): Added declarations for focusable handling.
2031         (DateTimeFieldElement): ditto.
2032
2033 2012-08-30  James Robinson  <jamesr@chromium.org>
2034
2035         [chromium] Revert WebCompositorSupport to raw ptrs, make dtor protected
2036         https://bugs.webkit.org/show_bug.cgi?id=95520
2037
2038         Reviewed by Darin Fisher.
2039
2040         Adopt the return value of WebCompositorSupport explicitly.
2041
2042         * platform/graphics/chromium/AnimationTranslationUtil.cpp:
2043         (WebCore::createWebAnimation):
2044         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
2045         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
2046         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2047         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
2048         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2049         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
2050         (WebCore::GraphicsLayerChromium::setContentsToImage):
2051         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
2052
2053 2012-08-30  Adam Barth  <abarth@webkit.org>
2054
2055         Replace more instances of += with StringBuilder
2056         https://bugs.webkit.org/show_bug.cgi?id=95502
2057
2058         Reviewed by Darin Adler.
2059
2060         This patch removes many uses of WTF::String::operator+= in WebCore.
2061         Many of these uses are inefficient because they cause us to allocate
2062         and memcpy strings more times than necessary. In most cases, I've
2063         replaced these inefficient patterns with StringBuilder.
2064
2065         This patch makes progress towards removing WTF::String::operator+= from
2066         the project.
2067
2068         We can make cssText() more efficient by passing a single StringBuilder
2069         instance along to the recursive calls, but I've left that for a later
2070         patch.
2071
2072         * css/CSSBorderImageSliceValue.cpp:
2073         (WebCore::CSSBorderImageSliceValue::customCssText):
2074         * css/CSSFontFaceSrcValue.cpp:
2075         (WebCore::CSSFontFaceSrcValue::customCssText):
2076         * css/CSSFunctionValue.cpp:
2077         (WebCore::CSSFunctionValue::customCssText):
2078         * css/CSSGradientValue.cpp:
2079         (WebCore::CSSLinearGradientValue::customCssText):
2080         (WebCore::CSSRadialGradientValue::customCssText):
2081         * css/CSSParser.cpp:
2082         (WebCore::CSSParser::createKeyframe):
2083         * css/CSSPrimitiveValue.cpp:
2084         (WebCore::CSSPrimitiveValue::customCssText):
2085         * css/CSSReflectValue.cpp:
2086         (WebCore::CSSReflectValue::customCssText):
2087         * css/CSSTimingFunctionValue.cpp:
2088         (WebCore::CSSCubicBezierTimingFunctionValue::customCssText):
2089         (WebCore::CSSStepsTimingFunctionValue::customCssText):
2090         * css/StylePropertySet.cpp:
2091         (WebCore::StylePropertySet::get4Values):
2092         (WebCore::StylePropertySet::getLayeredShorthandValue):
2093         (WebCore::StylePropertySet::getShorthandValue):
2094         * fileapi/BlobURL.cpp:
2095         (WebCore::BlobURL::createBlobURL):
2096         * inspector/InspectorCSSAgent.cpp:
2097         (WebCore::InspectorCSSAgent::SetPropertyTextAction::redo):
2098         * inspector/InspectorClient.cpp:
2099         (WebCore::InspectorClient::doDispatchMessageOnFrontendPage):
2100         * inspector/InspectorConsoleAgent.cpp:
2101         (WebCore::InspectorConsoleAgent::didFailLoading):
2102         * inspector/InspectorFileSystemAgent.cpp:
2103         (WebCore):
2104         * inspector/InspectorPageAgent.cpp:
2105         (WebCore::InspectorPageAgent::cachedResourceContent):
2106         (WebCore::InspectorPageAgent::getCookies):
2107         * inspector/InspectorStyleSheet.cpp:
2108         (WebCore::InspectorStyleSheet::addRule):
2109
2110 2012-08-30  Luke Macpherson   <macpherson@chromium.org>
2111
2112         Make it possible to use CSS Variables inside Calc expressions.
2113         https://bugs.webkit.org/show_bug.cgi?id=95284
2114
2115         Reviewed by Tony Chang.
2116
2117         Allows calc expressions to contain unevaluated variables, which are then resolved in StyleResolver.cpp when building the RenderStyle tree.
2118
2119         Tests:
2120         fast/css/variables/calc.html
2121
2122         * css/CSSCalculationValue.cpp:
2123         (WebCore::unitCategory):
2124         (WebCore):
2125         (WebCore::CSSCalcValue::customSerializeResolvingVariables):
2126         Generates a CSS expression with variables resolved into their corresponding values.
2127         (WebCore::CSSCalcValue::hasVariableReference):
2128         Returns true if the calculation's expression tree refers to a variable (that needs to be resolved).
2129         (CSSCalcPrimitiveValue):
2130         (WebCore::CSSCalcPrimitiveValue::serializeResolvingVariables):
2131         Resolves the variable using the underlying CSSPrimitiveValue's serializeResolvingVariables function.
2132         (WebCore::CSSCalcPrimitiveValue::hasVariableReference):
2133         (WebCore::CSSCalcPrimitiveValue::toCalcValue):
2134         (WebCore::CSSCalcPrimitiveValue::doubleValue):
2135         (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
2136         (WebCore::CSSCalcBinaryOperation::create):
2137         (CSSCalcBinaryOperation):
2138         (WebCore::CSSCalcBinaryOperation::serializeResolvingVariables):
2139         Builds a CSS expression for contained subtrees.
2140         (WebCore::CSSCalcBinaryOperation::hasVariableReference):
2141         Returns true if either subtree contains a variable.
2142         * css/CSSCalculationValue.h:
2143         (CSSCalcExpressionNode):
2144         (CSSCalcValue):
2145         * css/CSSGrammar.y:
2146         * css/CSSParser.cpp:
2147         (WebCore::CSSParser::validCalculationUnit):
2148         * css/CSSPrimitiveValue.cpp:
2149         (WebCore::CSSPrimitiveValue::primitiveType):
2150         (WebCore::CSSPrimitiveValue::customSerializeResolvingVariables):
2151         * css/StyleResolver.cpp:
2152         (WebCore::StyleResolver::collectMatchingRulesForList):
2153
2154 2012-08-30  Max Vujovic  <mvujovic@adobe.com>
2155
2156         [CSS Shaders] Implement normal blend mode and source-atop compositing mode
2157         https://bugs.webkit.org/show_bug.cgi?id=93869
2158
2159         Reviewed by Dean Jackson.
2160
2161         Instead of allowing direct texture access in an author's shader via u_texture, CSS
2162         Shaders blends special symbols in the author's shader (css_MixColor and
2163         css_ColorMatrix) with the DOM element texture.
2164
2165         The author specifies the blend mode and composite operator via the CSS mix
2166         function like this:
2167         -webkit-filter: custom(none mix(shader.fs normal source-atop));
2168
2169         This patch implements the normal blend mode and the source-atop composite
2170         operator. The other blend modes and composite operators will come in later
2171         patches.
2172
2173         This patch introduces a new class, CustomFilterValidatedProgram, which validates
2174         the shader using ANGLE. If the shader uses blending and compositing,
2175         CustomFilterValidatedProgram uses ANGLE's SH_CSS_SHADERS_SPEC flag. This allows
2176         the author's shader to compile successfully with special symbols like
2177         "css_MixColor". ANGLE also reserves the "css_" prefix. If the shader doesn't use
2178         blending and compositing, CustomFilterValidatedProgram validates the shader using
2179         ANGLE's SH_WEBGL_SPEC flag.
2180
2181         After validation, CustomFilterValidatedProgram adds blending, compositing, and
2182         texture access shader code to the author's original shaders. The definitions for
2183         css_MixColor and css_ColorMatrix are added before the author's fragment shader
2184         code so that the author code can access them. The blending, compositing, and
2185         texture access code is added after the author code and is thus inaccessible to the
2186         author code. Since ANGLE reserves the "css_" prefix during the validation phase,
2187         no collisions are possible between the author's code and the code that WebKit adds.
2188
2189         The CustomFilterGlobalContext now caches CustomFilterValidatedProgram instead
2190         of CustomFilterCompiledProgram. CustomFilterValidatedProgram owns a
2191         CustomFilterCompiledProgram. This way, we can use the platform-independent
2192         CustomFilterValidatedProgram to validate and rewrite the shaders, regardless of
2193         the platform representation of the program (e.g. CustomFilterCompiledProgram).
2194
2195         Tests: css3/filters/custom/custom-filter-color-matrix.html
2196                css3/filters/custom/custom-filter-composite-source-atop.html
2197
2198         * GNUmakefile.list.am:
2199         * Target.pri:
2200         * WebCore.gyp/WebCore.gyp:
2201         * WebCore.gypi:
2202         * WebCore.vcproj/WebCore.vcproj:
2203         * WebCore.xcodeproj/project.pbxproj:
2204         * platform/graphics/ANGLEWebKitBridge.cpp:
2205         (WebCore::ANGLEWebKitBridge::ANGLEWebKitBridge):
2206             Add a shader spec parameter, since sometimes we want to validate the shader
2207             against the CSS Shaders spec and other times we want to validate the shader
2208             against the WebGL spec. Note that the CSS Shaders spec is treated as a subset
2209             of the WebGL spec in ANGLE.
2210         (WebCore::ANGLEWebKitBridge::validateShaderSource):
2211         * platform/graphics/ANGLEWebKitBridge.h:
2212         (ANGLEWebKitBridge):
2213         * platform/graphics/filters/CustomFilterCompiledProgram.cpp:
2214         (WebCore::CustomFilterCompiledProgram::CustomFilterCompiledProgram):
2215         (WebCore::CustomFilterCompiledProgram::compileShader):
2216         (WebCore::CustomFilterCompiledProgram::initializeParameterLocations):
2217         (WebCore::CustomFilterCompiledProgram::~CustomFilterCompiledProgram):
2218         * platform/graphics/filters/CustomFilterCompiledProgram.h:
2219         (WebCore):
2220         * platform/graphics/filters/CustomFilterGlobalContext.cpp:
2221         (WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext):
2222         (WebCore::CustomFilterGlobalContext::webglShaderValidator):
2223         (WebCore):
2224         (WebCore::CustomFilterGlobalContext::mixShaderValidator):
2225         (WebCore::CustomFilterGlobalContext::createShaderValidator):
2226         (WebCore::CustomFilterGlobalContext::getValidatedProgram):
2227         (WebCore::CustomFilterGlobalContext::removeValidatedProgram):
2228         * platform/graphics/filters/CustomFilterGlobalContext.h:
2229         (WebCore):
2230         (CustomFilterGlobalContext):
2231         * platform/graphics/filters/CustomFilterProgramInfo.h:
2232         (WebCore::CustomFilterProgramInfo::mixSettings):
2233         * platform/graphics/filters/CustomFilterValidatedProgram.cpp: Added.
2234         (WebCore):
2235         (WebCore::CustomFilterValidatedProgram::defaultVertexShaderString):
2236         (WebCore::CustomFilterValidatedProgram::defaultFragmentShaderString):
2237         (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram):
2238         (WebCore::CustomFilterValidatedProgram::compiledProgram):
2239         (WebCore::CustomFilterValidatedProgram::rewriteMixVertexShader):
2240         (WebCore::CustomFilterValidatedProgram::rewriteMixFragmentShader):
2241         (WebCore::CustomFilterValidatedProgram::blendFunctionString):
2242         (WebCore::CustomFilterValidatedProgram::compositeFunctionString):
2243         (WebCore::CustomFilterValidatedProgram::~CustomFilterValidatedProgram):
2244         * platform/graphics/filters/CustomFilterValidatedProgram.h: Added.
2245         (WebCore):
2246         (CustomFilterValidatedProgram):
2247         (WebCore::CustomFilterValidatedProgram::create):
2248         (WebCore::CustomFilterValidatedProgram::programInfo):
2249         (WebCore::CustomFilterValidatedProgram::isInitialized):
2250         (WebCore::CustomFilterValidatedProgram::detachFromGlobalContext):
2251         * platform/graphics/filters/FECustomFilter.cpp:
2252         (WebCore::FECustomFilter::FECustomFilter):
2253             Accept a CustomFilterValidatedProgram instead of CustomFilterProgram.
2254         (WebCore::FECustomFilter::create):
2255         (WebCore::FECustomFilter::initializeContext):
2256         (WebCore::FECustomFilter::bindVertexAttribute):
2257         (WebCore::FECustomFilter::bindProgramAndBuffers):
2258         * platform/graphics/filters/FECustomFilter.h:
2259         (WebCore):
2260         (FECustomFilter):
2261         * rendering/FilterEffectRenderer.cpp:
2262         (WebCore):
2263         (WebCore::createCustomFilterEffect):
2264         (WebCore::FilterEffectRenderer::build):
2265             Only create an FECustomFilter if the program validates.
2266         * rendering/FilterEffectRenderer.h:
2267         (WebCore):
2268         (FilterEffectRenderer):
2269
2270 2012-08-30  Julien Chaffraix  <jchaffraix@webkit.org>
2271
2272         Crash in RenderTable::calcBorderEnd
2273         https://bugs.webkit.org/show_bug.cgi?id=95487
2274
2275         Reviewed by Abhishek Arya.
2276
2277         r126590 opened the window for a race condition in RenderObjectChildList::removeChildNode.
2278         This is caused because willBeRemovedFromTree should be strictly following by the actual removal
2279         and wasn't.
2280
2281         This race condition was caused by clearSelection() being called just after willBeRemovedFromTree,
2282         which forced a section's cells recalc and would re-add the soon-to-be-removed child, causing the
2283         crash.
2284
2285         Test: fast/table/crash-clearSelection-collapsed-borders.html
2286
2287         * rendering/RenderObjectChildList.cpp:
2288         (WebCore::RenderObjectChildList::removeChildNode):
2289         Moved the clearSeletion call before willBeRemovedFromTree. Added a warning about running code
2290         after willBeRemovedFromTree and before removing the child from the tree.
2291
2292 2012-08-30  Geoffrey Garen  <ggaren@apple.com>
2293
2294         Use one object instead of two for closures, eliminating ScopeChainNode
2295         https://bugs.webkit.org/show_bug.cgi?id=95501
2296
2297         Reviewed by Filip Pizlo.
2298
2299         Mechanical changes to update for JSC interface changes.
2300
2301 2012-08-30  Pratik Solanki  <psolanki@apple.com>
2302
2303         objc_msgSend and IMP should be cast appropriately before using
2304         https://bugs.webkit.org/show_bug.cgi?id=95242
2305
2306         Reviewed by Benjamin Poulain.
2307
2308         Use wtfObjcMsgSend and wtfCallIMP templates which do appropriate casts
2309         to a function pointer with right types when calling objc_msgSend and an
2310         IMP method directly.
2311
2312         No new tests because no functional changes.
2313
2314         * page/mac/EventHandlerMac.mm:
2315         (WebCore::selfRetainingNSScrollViewScrollWheel):
2316         * platform/mac/WebCoreObjCExtras.mm:
2317         (deallocCallback):
2318
2319 2012-08-30  Benjamin Poulain  <bpoulain@apple.com>
2320
2321         Replace JSC::UString by WTF::String
2322         https://bugs.webkit.org/show_bug.cgi?id=95271
2323
2324         Reviewed by Geoffrey Garen.
2325
2326         Update the code to use String instead of UString.
2327
2328         On x86_64, this reduces the binary size by 22kb.
2329
2330         Since it is no longer possible to differenciate JSC::jsString() and WebCore::jsString() by the input
2331         types, WebCore::jsString() is renated to WebCore::jsStringWithCache().
2332
2333         Since the cache is using a PtrHash, JSC::jsString() is used in place of the old WebCore::jsString() when
2334         the string is generated locally. This is because the cache can never match in those cases.
2335
2336 2012-08-30  Rob Buis  <rbuis@rim.com>
2337
2338         [CMake] Suppress ANGLE compilation warnings
2339         https://bugs.webkit.org/show_bug.cgi?id=95377
2340
2341         Reviewed by Antonio Gomes.
2342
2343         Compile ANGLE sources in a static library, and make sure the compile flags suppress warnings.
2344
2345         * CMakeLists.txt:
2346
2347 2012-08-30  Victor Carbune  <victor@rosedu.org>
2348
2349         [Chromium] Layout Test media/track/track-cue-rendering-snap-to-lines-not-set.html is flaky
2350         https://bugs.webkit.org/show_bug.cgi?id=89167
2351
2352         Reviewed by Eric Carlson.
2353
2354         Fix for rendering tracks when snap-to-lines not set.
2355
2356         No new tests. Removed from TestExpectations existing test.
2357
2358         * html/track/TextTrackCue.cpp:
2359         (WebCore::TextTrackCue::TextTrackCue):
2360         (WebCore::TextTrackCue::calculateDisplayParameters): Updated the place
2361         where m_computedLinePosition is determined.
2362
2363 2012-08-27  James Robinson  <jamesr@chromium.org>
2364
2365         [chromium] Add CompositorSupport interface for constructing compositor classes
2366         https://bugs.webkit.org/show_bug.cgi?id=95040
2367
2368         Reviewed by Darin Fisher.
2369
2370         Uses WebCompositorSupport interfaces where appropriate to construct compositor types.
2371
2372         * platform/graphics/chromium/AnimationTranslationUtil.cpp:
2373         (WebCore::createWebAnimation):
2374         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
2375         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
2376         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2377         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
2378         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2379         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
2380         (WebCore::GraphicsLayerChromium::setContentsToImage):
2381         (WebCore::GraphicsLayerChromium::setContentsTo):
2382         (WebCore::GraphicsLayerChromium::addAnimation):
2383         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
2384
2385 2012-08-30  Dan Bernstein  <mitz@apple.com>
2386
2387         [CG] ImageCG.cpp contains a mix of Image and BitmapImage functions
2388         https://bugs.webkit.org/show_bug.cgi?id=95470
2389
2390         Reviewed by Darin Adler.
2391
2392         * WebCore.gypi: Added BitmapImageCG.cpp.
2393         * WebCore.vcproj/WebCore.vcproj: Ditto.
2394         * WebCore.xcodeproj/project.pbxproj: Ditto.
2395         * platform/graphics/cg/BitmapImageCG.cpp: Copied from Source/WebCore/platform/graphics/cg/ImageCG.cpp
2396         then deleted Image function implementations.
2397         * platform/graphics/cg/ImageCG.cpp: Deleted BitmapImage and FrameData function implementations.
2398
2399 2012-08-30  Victor Carbune  <victor@rosedu.org>
2400
2401         [Chromium] The CC button is not painted
2402         https://bugs.webkit.org/show_bug.cgi?id=95395
2403
2404         Reviewed by Eric Carlson.
2405
2406         The actual Chromium resource for the CC button was not used by the Chromium theme.
2407
2408         Existing track rendering tests will be rebaselined and contain the new CC button.
2409
2410         * rendering/RenderMediaControlsChromium.cpp:
2411         (WebCore::paintMediaClosedCaptionsButton): Added for proper painting of the resource.
2412         (WebCore):
2413         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
2414         Changed to call paintMediaClosedCaptionsButton when the control is the CC button.
2415         * rendering/RenderThemeChromiumSkia.cpp:
2416         (WebCore::RenderThemeChromiumSkia::paintMediaToggleClosedCaptionsButton):
2417         Implemented proper behaviour.
2418         (WebCore):
2419         * rendering/RenderThemeChromiumSkia.h:
2420         (RenderThemeChromiumSkia):
2421
2422 2012-08-30  Tommy Widenflycht  <tommyw@google.com>
2423
2424         MediaStream API: Introduce MediaConstraints
2425         https://bugs.webkit.org/show_bug.cgi?id=95198
2426
2427         Reviewed by Adam Barth.
2428
2429         This introduces MediaConstraints together with relevant infrastructure, a chromium mock and LayoutTests.
2430
2431         Patch covered by expanded existing tests.
2432
2433         * CMakeLists.txt:
2434         * GNUmakefile.list.am:
2435         * Modules/mediastream/MediaConstraintsImpl.cpp: Added.
2436         (WebCore):
2437         (WebCore::MediaConstraintsImpl::create):
2438         (WebCore::MediaConstraintsImpl::initialize):
2439         (WebCore::MediaConstraintsImpl::~MediaConstraintsImpl):
2440         (WebCore::MediaConstraintsImpl::getMandatoryConstraintNames):
2441         (WebCore::MediaConstraintsImpl::getOptionalConstraintNames):
2442         (WebCore::MediaConstraintsImpl::getMandatoryConstraintValue):
2443         (WebCore::MediaConstraintsImpl::getOptionalConstraintValue):
2444         * Modules/mediastream/MediaConstraintsImpl.h: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h.
2445         (WebCore):
2446         (MediaConstraintsImpl):
2447         (WebCore::MediaConstraintsImpl::MediaConstraintsImpl):
2448         * Modules/mediastream/RTCPeerConnection.cpp:
2449         (WebCore::RTCPeerConnection::create):
2450         (WebCore::RTCPeerConnection::RTCPeerConnection):
2451         * Modules/mediastream/RTCPeerConnection.h:
2452         (WebCore):
2453         (RTCPeerConnection):
2454         * WebCore.gypi:
2455         * bindings/js/Dictionary.cpp:
2456         (WebCore::Dictionary::getOwnPropertyNames):
2457         (WebCore):
2458         * bindings/js/Dictionary.h:
2459         (Dictionary):
2460         * bindings/v8/Dictionary.cpp:
2461         (WebCore::Dictionary::getOwnPropertyNames):
2462         (WebCore):
2463         * bindings/v8/Dictionary.h:
2464         (Dictionary):
2465         * platform/chromium/support/WebMediaConstraints.cpp: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.cpp.
2466         (WebKit):
2467         (WebKit::WebMediaConstraints::WebMediaConstraints):
2468         (WebKit::WebMediaConstraints::assign):
2469         (WebKit::WebMediaConstraints::reset):
2470         (WebKit::WebMediaConstraints::isNull):
2471         (WebKit::WebMediaConstraints::getMandatoryConstraintNames):
2472         (WebKit::WebMediaConstraints::getOptionalConstraintNames):
2473         (WebKit::WebMediaConstraints::getMandatoryConstraintValue):
2474         (WebKit::WebMediaConstraints::getOptionalConstraintValue):
2475         * platform/mediastream/MediaConstraints.h: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h.
2476         (WebCore):
2477         (MediaConstraints):
2478         (WebCore::MediaConstraints::~MediaConstraints):
2479         (WebCore::MediaConstraints::MediaConstraints):
2480         * platform/mediastream/RTCPeerConnectionHandler.cpp:
2481         (RTCPeerConnectionHandlerDummy):
2482         (WebCore::RTCPeerConnectionHandlerDummy::initialize):
2483         * platform/mediastream/RTCPeerConnectionHandler.h:
2484         (WebCore):
2485         (RTCPeerConnectionHandler):
2486         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
2487         (WebCore::RTCPeerConnectionHandlerChromium::initialize):
2488         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
2489         (RTCPeerConnectionHandlerChromium):
2490
2491 2012-08-24  Robert Hogan  <robert@webkit.org>
2492
2493         CSS 2.1 failure: margin-collapse-clear-012 fails
2494         https://bugs.webkit.org/show_bug.cgi?id=80394
2495
2496         Reviewed by David Hyatt.
2497
2498         CSS2.1 states: "If the top and bottom margins of an element with clearance are adjoining, its margins collapse with 
2499         the adjoining margins of following siblings but that resulting margin does not collapse with the bottom margin of the parent block."
2500         This is a change in the spec since http://trac.webkit.org/changeset/47678, so prevent the margins of collapsed blocks from collapsing
2501         with parent margins.
2502
2503         Also, in the case of self-collapsing blocks adjust the clearance so that it is equal to [height of float to clear] - margin-top of the 
2504         self-collapsing block. (See the 'Explanation' section near the end of http://www.w3.org/TR/CSS21/visuren.html#clearance). This allows
2505         the correct value of any margins collapsed with subsequent siblings to contribute to the height of the parent. For example if a block
2506         with margin-top of 40px has to clear a float of 100px, the clearance is now 60px so set that as the height of the parent. If a subsequent 
2507         sibling has a collapsed margin value of 140px (e.g. from a margin-top of 80px and a margin-bottom of 140px) then the height of the parent
2508         becomes 200px by adding on that collapsed margin. 
2509
2510         Tests: css2.1/20110323/margin-collapse-clear-012.htm
2511                css2.1/20110323/margin-collapse-clear-013.htm
2512                css2.1/20110323/margin-collapse-027.htm
2513                fast/css/margin-collapse-013-reduction.html
2514                fast/css/margin-collapse-top-margin-clearance.html
2515                fast/css/margin-collapse-top-margin-clearance-with-sibling.html
2516
2517         * rendering/RenderBlock.cpp:
2518         (WebCore::RenderBlock::clearFloatsIfNeeded):
2519         (WebCore::RenderBlock::handleAfterSideOfBlock): Without this margin-collapse/block-inside-inline/025.html adds in the margin to
2520           an anonymous block containing a block child. FF does this, Opera does not. The spec is not crystal-clear but Opera's behaviour
2521           seems correct - it's totally unintuitive to think the margins of an anonymous block and its block-flow child should be considered adjoining.
2522           Maybe this is a FIXME pending clarification in the spec?
2523         * rendering/RenderBlock.h:
2524         (WebCore::RenderBlock::MarginInfo::setCanCollapseMarginAfterWithChildren):
2525
2526 2012-08-30  Rik Cabanier  <cabanier@adobe.com>
2527
2528         Add support for blendmode to webkit rendering engine
2529         https://bugs.webkit.org/show_bug.cgi?id=95258
2530
2531         Reviewed by Simon Fraser.
2532
2533         This code adds support for blendmodes to the WebCore engine. The CSS parser already
2534         supported this keyword but didn't pass it along. Support for rendering blending will
2535         be provided in subsequent patches
2536
2537         Test: css3/compositing/should-have-compositing-layer.html
2538
2539         * css/StyleBuilder.cpp:
2540         (WebCore::StyleBuilder::StyleBuilder):
2541         * css/StyleResolver.cpp:
2542         (WebCore::StyleResolver::collectMatchingRulesForList):
2543         * rendering/RenderBox.h:
2544         * rendering/RenderBoxModelObject.h:
2545         (RenderBoxModelObject):
2546         (WebCore::RenderBoxModelObject::requiresLayer):
2547         * rendering/RenderInline.h:
2548         (WebCore::RenderInline::requiresLayer):
2549         * rendering/RenderLayer.cpp:
2550         (WebCore::RenderLayer::RenderLayer):
2551         (WebCore):
2552         (WebCore::RenderLayer::updateBlendMode):
2553         (WebCore::RenderLayer::ensureBacking):
2554         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
2555         (WebCore::RenderLayer::styleChanged):
2556         * rendering/RenderLayer.h:
2557         (RenderLayer):
2558         (WebCore::RenderLayer::hasBlendMode):
2559         * rendering/RenderLayerCompositor.cpp:
2560         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
2561         (WebCore::RenderLayerCompositor::requiresOwnBackingStore):
2562         (WebCore::RenderLayerCompositor::reasonForCompositing):
2563         (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason):
2564         (WebCore::RenderLayerCompositor::requiresCompositingForBlending):
2565         (WebCore):
2566         * rendering/RenderLayerCompositor.h:
2567         (RenderLayerCompositor):
2568         * rendering/RenderObject.h:
2569         (RenderObject):
2570         (WebCore::RenderObject::hasBlendMode):
2571         (WebCore::RenderObject::createsGroup):
2572         * rendering/RenderTableRow.h:
2573         * rendering/style/RenderStyle.h:
2574
2575 2012-08-30  Tony Chang  <tony@chromium.org>
2576
2577         Make RenderBox::computeInlineDirectionMargins const
2578         https://bugs.webkit.org/show_bug.cgi?id=95255
2579
2580         Reviewed by Ojan Vafai.
2581
2582         This is part of making computeLogical{Height,Width} return computed values rather than
2583         mutating the RenderBox directly. This makes a submethod const.
2584
2585         This change is just a refactor, but I've added some tests to cover code that wasn't
2586         previously covered by layout tests.
2587
2588         Tests: fast/block/margins-perpendicular-containing-block.html
2589                fast/table/margins-flipped-text-direction.html
2590                fast/table/margins-perpendicular-containing-block.html
2591
2592         * rendering/RenderBox.cpp:
2593         (WebCore::RenderBox::computeLogicalWidthInRegion): Handle flipped text direction manually.
2594         (WebCore::RenderBox::computeInlineDirectionMargins): Make const with out parameters.
2595         No longer need to call setMargin{Start,End}ForChild.
2596         (WebCore::shouldFlipBeforeAfterMargins): Helper function to figure out how to map a logical
2597         writing mode direction to another logical writing mode direction.
2598         (WebCore::RenderBox::computeLogicalHeight): Use const method. This also makes it more
2599         obvious that when computing the height, we only modify the before/after margins.
2600         * rendering/RenderBox.h:
2601         (RenderBox): Make computeInlineDirectionMargins const with out parameters.
2602         * rendering/RenderTable.cpp:
2603         (WebCore::RenderTable::computeLogicalWidth): Same as RenderBox::comptueLogicalWidthInregion.
2604
2605 2012-08-30  Dirk Schulze  <krit@webkit.org>
2606
2607         Refactor WrapShape classes to BasicShape
2608         https://bugs.webkit.org/show_bug.cgi?id=95461
2609
2610         Reviewed by Rob Buis.
2611
2612         This is a follow up patch of bug 95411. While the previous patch
2613         just renamed the files, this patch renames the classes, enumerations
2614         and functions.
2615
2616         Just refactoring of internal names. No new tests.
2617
2618         * css/BasicShapeFunctions.cpp:
2619         (WebCore::valueForBasicShape):
2620         (WebCore::basicShapeForValue):
2621         * css/BasicShapeFunctions.h:
2622         (WebCore):
2623         * css/CSSBasicShapes.cpp:
2624         (WebCore::CSSBasicShapeRectangle::cssText):
2625         (WebCore::CSSBasicShapeCircle::cssText):
2626         (WebCore::CSSBasicShapeEllipse::cssText):
2627         (WebCore::CSSBasicShapePolygon::cssText):
2628         * css/CSSBasicShapes.h:
2629         (WebCore::CSSBasicShape::~CSSBasicShape):
2630         (WebCore::CSSBasicShape::CSSBasicShape):
2631         (WebCore::CSSBasicShapeRectangle::create):
2632         (WebCore::CSSBasicShapeRectangle::type):
2633         (WebCore::CSSBasicShapeRectangle::CSSBasicShapeRectangle):
2634         (WebCore::CSSBasicShapeCircle::create):
2635         (WebCore::CSSBasicShapeCircle::type):
2636         (WebCore::CSSBasicShapeCircle::CSSBasicShapeCircle):
2637         (WebCore::CSSBasicShapeEllipse::create):
2638         (WebCore::CSSBasicShapeEllipse::type):
2639         (WebCore::CSSBasicShapeEllipse::CSSBasicShapeEllipse):
2640         (WebCore::CSSBasicShapePolygon::create):
2641         (WebCore::CSSBasicShapePolygon::type):
2642         (WebCore::CSSBasicShapePolygon::CSSBasicShapePolygon):
2643         * css/CSSComputedStyleDeclaration.cpp:
2644         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2645         * css/CSSParser.cpp:
2646         (WebCore::CSSParser::parseValue):
2647         (WebCore::CSSParser::parseBasicShapeRectangle):
2648         (WebCore::CSSParser::parseBasicShapeCircle):
2649         (WebCore::CSSParser::parseBasicShapeEllipse):
2650         (WebCore::CSSParser::parseBasicShapePolygon):
2651         (WebCore::CSSParser::parseBasicShape):
2652         * css/CSSParser.h:
2653         (WebCore):
2654         * css/CSSPrimitiveValue.cpp:
2655         (WebCore::CSSPrimitiveValue::init):
2656         * css/CSSPrimitiveValue.h:
2657         (WebCore):
2658         (WebCore::CSSPrimitiveValue::getShapeValue):
2659         (CSSPrimitiveValue):
2660         * css/StyleBuilder.cpp:
2661         (WebCore):
2662         (WebCore::ApplyPropertyWrapShape::setValue):
2663         (WebCore::ApplyPropertyWrapShape::applyValue):
2664         (WebCore::ApplyPropertyWrapShape::createHandler):
2665         * rendering/RenderBlock.cpp:
2666         (WebCore::RenderBlock::updateWrapShapeInfoAfterStyleChange):
2667         * rendering/RenderBlock.h:
2668         (RenderBlock):
2669         * rendering/WrapShapeInfo.cpp:
2670         (WebCore::WrapShapeInfo::isWrapShapeInfoEnabledForRenderBlock):
2671         (WebCore::WrapShapeInfo::computeShapeSize):
2672         * rendering/style/BasicShapes.cpp:
2673         (WebCore::BasicShape::destroy):
2674         * rendering/style/BasicShapes.h:
2675         (WebCore::BasicShape::BasicShape):
2676         (WebCore::BasicShapeRectangle::create):
2677         (WebCore::BasicShapeRectangle::BasicShapeRectangle):
2678         (WebCore::BasicShapeCircle::create):
2679         (WebCore::BasicShapeCircle::BasicShapeCircle):
2680         (WebCore::BasicShapeEllipse::create):
2681         (WebCore::BasicShapeEllipse::BasicShapeEllipse):
2682         (WebCore::BasicShapePolygon::create):
2683         (WebCore::BasicShapePolygon::BasicShapePolygon):
2684         * rendering/style/RenderStyle.h:
2685         * rendering/style/StyleRareNonInheritedData.h:
2686         (StyleRareNonInheritedData):
2687
2688 2012-08-30  Aaron Colwell  <acolwell@chromium.org>
2689
2690         Fix a crash in SourceBufferList.remove().
2691         https://bugs.webkit.org/show_bug.cgi?id=94950
2692
2693         Reviewed by Eric Carlson.
2694
2695         Move SourceBuffer::clear() call before the removal of the SourceBuffer from
2696         SourceBufferList::m_list to avoid a use after free if m_list holds the last
2697         reference.
2698
2699         Test: http/tests/media/media-source/video-media-source-sourcebufferlist-crash.html
2700
2701         * Modules/mediasource/SourceBufferList.cpp:
2702         (WebCore::SourceBufferList::remove):
2703
2704 2012-08-30  Otto Derek Cheung  <otcheung@rim.com>
2705
2706         [BlackBerry] Modifying how IP domains are handled in Cookies
2707         https://bugs.webkit.org/show_bug.cgi?id=95381
2708
2709         Reviewed by Rob Buis.
2710         Internally reviewed by Joe Mason.
2711
2712         Current implementation handles IP addresses like normal domains.
2713         This makes invalid cross domain cookies possibe by setting cookie
2714         domains to a suffix of the targeted IP. (ex. hackers on 11.121.61.97
2715         can set cookies to 61.97, so they show up on the targeted website of
2716         10.120.61.97)
2717
2718         New Implementation is to detect IP addresses and treat them without
2719         exploding them with the delimiter ".". That way, IP addresses will
2720         be stored as a whole and other IPs won't have access to it.
2721
2722         PR 130051
2723
2724         Manually tested by accessing a webpage via IP (hosted through
2725         LAMP - ex:10.121.61.97) and tried to set cookies with domains that
2726         are a suffix to the ip address (ex: .97, 121.61.97).
2727         Also tried to set cookies to other ip addresses that "domain matches"
2728         the IP address (ex. 11.121.61.97). Verified that they all failed.
2729
2730         Tested using the cookies test page: http://browser.swlab.rim.net/test/cookies
2731
2732         * platform/blackberry/CookieManager.cpp:
2733         (WebCore::CookieManager::getRawCookies):
2734         (WebCore::CookieManager::checkAndTreatCookie):
2735         (WebCore::CookieManager::findOrCreateCookieMap):
2736         * platform/blackberry/CookieManager.h:
2737         * platform/blackberry/CookieParser.cpp:
2738         (WebCore::CookieParser::CookieParser):
2739         (WebCore::CookieParser::parseOneCookie):
2740         * platform/blackberry/CookieParser.h:
2741         (CookieParser):
2742         * platform/blackberry/ParsedCookie.cpp:
2743         (WebCore::ParsedCookie::ParsedCookie):
2744         * platform/blackberry/ParsedCookie.h:
2745         (WebCore::ParsedCookie::setDomain):
2746         (WebCore::ParsedCookie::domainIsIPAddress):
2747         (ParsedCookie):
2748
2749 2012-08-30  Ilya Tikhonovsky  <loislo@chromium.org>
2750
2751         Web Inspector: [regression] ui: heap profiler: splitter between containment and retainment views has white background.
2752         https://bugs.webkit.org/show_bug.cgi?id=95460
2753
2754         Reviewed by Yury Semikhatsky.
2755
2756         it was regressed at r122332.
2757
2758         * inspector/front-end/heapProfiler.css:
2759         (.heap-snapshot-view .retainers-view-header):
2760
2761 2012-08-30  Sheriff Bot  <webkit.review.bot@gmail.com>
2762
2763         Unreviewed, rolling out r127131.
2764         http://trac.webkit.org/changeset/127131
2765         https://bugs.webkit.org/show_bug.cgi?id=95463
2766
2767         It makes the fast/regions/ test crash on Chromium (Requested
2768         by jchaffraix on #webkit).
2769
2770         * css/StyleResolver.cpp:
2771         (WebCore::StyleResolver::collectMatchingRulesForList):
2772         * rendering/InlineBox.cpp:
2773         * rendering/InlineBox.h:
2774         (WebCore):
2775         (InlineBox):
2776         * rendering/InlineFlowBox.cpp:
2777         (WebCore::InlineFlowBox::addToLine):
2778         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
2779         * rendering/RenderRegion.h:
2780         (RenderRegion):
2781
2782 2012-08-30  Alexander Pavlov  <apavlov@chromium.org>
2783
2784         Web Inspector: Some urls in CSS stylesheets cause errors when generating Computed Styles HTML
2785         https://bugs.webkit.org/show_bug.cgi?id=95427
2786
2787         Reviewed by Vsevolod Vlasov.
2788
2789         Pass the parent StylesSidebarPane into ComputedStylePropertiesSection to avoid referencing an undefined field.
2790         Avoid duplicating the parent pane by externally setting the |data| field on style property sections.
2791
2792         * inspector/front-end/StylesSidebarPane.js:
2793         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
2794         (WebInspector.StylesSidebarPane.prototype.addBlankSection):
2795         (WebInspector.StylePropertiesSection.prototype.get pane):
2796         (WebInspector.ComputedStylePropertiesSection):
2797         (WebInspector.ComputedStylePropertiesSection.prototype.get pane):
2798         (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
2799         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
2800
2801 2012-08-30  Keishi Hattori  <keishi@webkit.org>
2802
2803         Tick marks don't match thumb when applying padding or border to input type=range
2804         https://bugs.webkit.org/show_bug.cgi?id=93791
2805
2806         Reviewed by Kent Tamura.
2807
2808         Tick marks don't match thumb when styling input type=range. This change
2809         calculate tick mark positions from track element size. Bug 94915 handles
2810         drawing the track inside the content area.
2811
2812         Tests: fast/forms/datalist/input-appearance-range-with-padding-with-datalist.html
2813                fast/forms/datalist/input-appearance-range-with-transform.html
2814
2815         * html/HTMLInputElement.cpp:
2816         (WebCore::HTMLInputElement::sliderTrackElement):
2817         (WebCore):
2818         * html/HTMLInputElement.h:
2819         (HTMLInputElement):
2820         * html/InputType.h:
2821         (WebCore::InputType::sliderTrackElement):
2822         * html/RangeInputType.cpp:
2823         (WebCore::RangeInputType::sliderTrackElement):
2824         (WebCore):
2825         * html/RangeInputType.h:
2826         (RangeInputType):
2827         * rendering/RenderTheme.cpp:
2828         (WebCore::RenderTheme::paintSliderTicks): rect's position is relative to
2829         the transformed ancestor element. sliderBounds is absolute. We use them
2830         to calculate the track element position relative to the transformed
2831         ancestor element.
2832
2833 2012-08-30  Julien Chaffraix  <jchaffraix@webkit.org>
2834
2835         Remove the now-unneeded invalidations in RenderTable::removeCaption
2836         https://bugs.webkit.org/show_bug.cgi?id=94889
2837
2838         Reviewed by Abhishek Arya.
2839
2840         Following bug 94842 and 95090, the invalidation code was pushed down to
2841         RenderTableCaption. This made apparent that we did some invalidations that
2842         were not needed.
2843
2844         Refactoring covered by existing tests.
2845
2846         * rendering/RenderTable.cpp:
2847         (WebCore::RenderTable::removeCaption):
2848         Removed setNeedsRecalcStyle() as it's unneeded now. It was probably needed back when
2849         we didn't support multiple captions (see bug 58249) but the need was never documented
2850         so you could wonder if it was really needed in the first place.
2851
2852 2012-08-30  Ilya Tikhonovsky  <loislo@chromium.org>
2853
2854         Web Inspector: [regression] ui: selectors in heap profiler view have no arrows at the right side of the text.
2855         https://bugs.webkit.org/show_bug.cgi?id=95455
2856
2857         Reviewed by Yury Semikhatsky.
2858
2859         In console we use a span which wraps selectors and have necessary background.
2860
2861         * inspector/front-end/HeapSnapshotView.js:
2862         (WebInspector.HeapSnapshotView.prototype.get statusBarItems.appendArrowImage):
2863         (WebInspector.HeapSnapshotView.prototype.get statusBarItems):
2864
2865 2012-08-30  Andrew Lo  <anlo@rim.com>
2866
2867         [BlackBerry] LayerTiler needs to respect new setting for prefill rect.
2868         https://bugs.webkit.org/show_bug.cgi?id=95446
2869
2870         Reviewed by Rob Buis.
2871
2872         Internally reviewed by Arvid Nilsson.
2873         Internal PR181637
2874         Use new prefill rectangle setting to determine which tiles should be
2875         prefilled in LayerTiler.
2876
2877         * platform/graphics/blackberry/LayerTiler.cpp:
2878         (WebCore::LayerTiler::shouldPrefillTile):
2879
2880 2012-08-29  Dirk Schulze  <krit@webkit.org>
2881
2882         Refactor WrapShape to Shape/BasicShape
2883         https://bugs.webkit.org/show_bug.cgi?id=95411
2884
2885         Reviewed by Andreas Kling.
2886
2887         The wrap shapes are currently specified by CSS3 Exclusions but are useful for other
2888         CSS related proposals like CSS Masking as well. This is the first patch on a chain
2889         of patches to refactor WrapShape to BasicShape. With this patch all relevant files
2890         get renamend and the build systems updated. The classes will be renamend in a second
2891         step.
2892
2893         Just renaming of files. No new tests.
2894
2895         * CMakeLists.txt:
2896         * GNUmakefile.list.am:
2897         * Target.pri:
2898         * WebCore.gypi:
2899         * WebCore.vcproj/WebCore.vcproj:
2900         * WebCore.xcodeproj/project.pbxproj:
2901         * css/BasicShapeFunctions.cpp: Renamed from Source/WebCore/css/WrapShapeFunctions.cpp.
2902         (WebCore):
2903         (WebCore::valueForWrapShape):
2904         (WebCore::convertToLength):
2905         (WebCore::wrapShapeForValue):
2906         * css/BasicShapeFunctions.h: Renamed from Source/WebCore/css/WrapShapeFunctions.h.
2907         (WebCore):
2908         * css/CSSAllInOne.cpp:
2909         * css/CSSBasicShapes.cpp: Renamed from Source/WebCore/css/CSSWrapShapes.cpp.
2910         (WebCore):
2911         (WebCore::CSSWrapShapeRectangle::cssText):
2912         (WebCore::CSSWrapShapeCircle::cssText):
2913         (WebCore::CSSWrapShapeEllipse::cssText):
2914         (WebCore::CSSWrapShapePolygon::cssText):
2915         * css/CSSBasicShapes.h: Renamed from Source/WebCore/css/CSSWrapShapes.h.
2916         (WebCore):
2917         (CSSWrapShape):
2918         (WebCore::CSSWrapShape::~CSSWrapShape):
2919         (WebCore::CSSWrapShape::CSSWrapShape):
2920         (CSSWrapShapeRectangle):
2921         (WebCore::CSSWrapShapeRectangle::create):
2922         (WebCore::CSSWrapShapeRectangle::x):
2923         (WebCore::CSSWrapShapeRectangle::y):
2924         (WebCore::CSSWrapShapeRectangle::width):
2925         (WebCore::CSSWrapShapeRectangle::height):
2926         (WebCore::CSSWrapShapeRectangle::radiusX):
2927         (WebCore::CSSWrapShapeRectangle::radiusY):
2928         (WebCore::CSSWrapShapeRectangle::setX):
2929         (WebCore::CSSWrapShapeRectangle::setY):
2930         (WebCore::CSSWrapShapeRectangle::setWidth):
2931         (WebCore::CSSWrapShapeRectangle::setHeight):
2932         (WebCore::CSSWrapShapeRectangle::setRadiusX):
2933         (WebCore::CSSWrapShapeRectangle::setRadiusY):
2934         (WebCore::CSSWrapShapeRectangle::type):
2935         (WebCore::CSSWrapShapeRectangle::CSSWrapShapeRectangle):
2936         (CSSWrapShapeCircle):
2937         (WebCore::CSSWrapShapeCircle::create):
2938         (WebCore::CSSWrapShapeCircle::centerX):
2939         (WebCore::CSSWrapShapeCircle::centerY):
2940         (WebCore::CSSWrapShapeCircle::radius):
2941         (WebCore::CSSWrapShapeCircle::setCenterX):
2942         (WebCore::CSSWrapShapeCircle::setCenterY):
2943         (WebCore::CSSWrapShapeCircle::setRadius):
2944         (WebCore::CSSWrapShapeCircle::type):
2945         (WebCore::CSSWrapShapeCircle::CSSWrapShapeCircle):
2946         (CSSWrapShapeEllipse):
2947         (WebCore::CSSWrapShapeEllipse::create):
2948         (WebCore::CSSWrapShapeEllipse::centerX):
2949         (WebCore::CSSWrapShapeEllipse::centerY):
2950         (WebCore::CSSWrapShapeEllipse::radiusX):
2951         (WebCore::CSSWrapShapeEllipse::radiusY):
2952         (WebCore::CSSWrapShapeEllipse::setCenterX):
2953         (WebCore::CSSWrapShapeEllipse::setCenterY):
2954         (WebCore::CSSWrapShapeEllipse::setRadiusX):
2955         (WebCore::CSSWrapShapeEllipse::setRadiusY):
2956         (WebCore::CSSWrapShapeEllipse::type):
2957         (WebCore::CSSWrapShapeEllipse::CSSWrapShapeEllipse):
2958         (CSSWrapShapePolygon):
2959         (WebCore::CSSWrapShapePolygon::create):
2960         (WebCore::CSSWrapShapePolygon::appendPoint):
2961         (WebCore::CSSWrapShapePolygon::getXAt):
2962         (WebCore::CSSWrapShapePolygon::getYAt):
2963         (WebCore::CSSWrapShapePolygon::values):
2964         (WebCore::CSSWrapShapePolygon::setWindRule):
2965         (WebCore::CSSWrapShapePolygon::windRule):
2966         (WebCore::CSSWrapShapePolygon::type):
2967         (WebCore::CSSWrapShapePolygon::CSSWrapShapePolygon):
2968         * css/CSSComputedStyleDeclaration.cpp:
2969         * css/CSSParser.cpp:
2970         * css/CSSPrimitiveValue.cpp:
2971         * css/StyleBuilder.cpp:
2972         * rendering/style/BasicShapes.cpp: Renamed from Source/WebCore/rendering/style/WrapShapes.cpp.
2973         (WebCore):
2974         (WebCore::WrapShape::destroy):
2975         * rendering/style/BasicShapes.h: Renamed from Source/WebCore/rendering/style/WrapShapes.h.
2976         (WebCore):
2977         (WrapShape):
2978         (WebCore::WrapShape::deref):
2979         (WebCore::WrapShape::type):
2980         (WebCore::WrapShape::WrapShape):
2981         (WrapShapeRectangle):
2982         (WebCore::WrapShapeRectangle::create):
2983         (WebCore::WrapShapeRectangle::x):
2984         (WebCore::WrapShapeRectangle::y):
2985         (WebCore::WrapShapeRectangle::width):
2986         (WebCore::WrapShapeRectangle::height):
2987         (WebCore::WrapShapeRectangle::cornerRadiusX):
2988         (WebCore::WrapShapeRectangle::cornerRadiusY):
2989         (WebCore::WrapShapeRectangle::setX):
2990         (WebCore::WrapShapeRectangle::setY):
2991         (WebCore::WrapShapeRectangle::setWidth):
2992         (WebCore::WrapShapeRectangle::setHeight):
2993         (WebCore::WrapShapeRectangle::setCornerRadiusX):
2994         (WebCore::WrapShapeRectangle::setCornerRadiusY):
2995         (WebCore::WrapShapeRectangle::WrapShapeRectangle):
2996         (WrapShapeCircle):
2997         (WebCore::WrapShapeCircle::create):
2998         (WebCore::WrapShapeCircle::centerX):
2999         (WebCore::WrapShapeCircle::centerY):
3000         (WebCore::WrapShapeCircle::radius):
3001         (WebCore::WrapShapeCircle::setCenterX):
3002         (WebCore::WrapShapeCircle::setCenterY):
3003         (WebCore::WrapShapeCircle::setRadius):
3004         (WebCore::WrapShapeCircle::WrapShapeCircle):
3005         (WrapShapeEllipse):
3006         (WebCore::WrapShapeEllipse::create):
3007         (WebCore::WrapShapeEllipse::centerX):
3008         (WebCore::WrapShapeEllipse::centerY):
3009         (WebCore::WrapShapeEllipse::radiusX):
3010         (WebCore::WrapShapeEllipse::radiusY):
3011         (WebCore::WrapShapeEllipse::setCenterX):
3012         (WebCore::WrapShapeEllipse::setCenterY):
3013         (WebCore::WrapShapeEllipse::setRadiusX):
3014         (WebCore::WrapShapeEllipse::setRadiusY):
3015         (WebCore::WrapShapeEllipse::WrapShapeEllipse):
3016         (WrapShapePolygon):
3017         (WebCore::WrapShapePolygon::create):
3018         (WebCore::WrapShapePolygon::windRule):
3019         (WebCore::WrapShapePolygon::values):
3020         (WebCore::WrapShapePolygon::getXAt):
3021         (WebCore::WrapShapePolygon::getYAt):
3022         (WebCore::WrapShapePolygon::setWindRule):
3023         (WebCore::WrapShapePolygon::appendPoint):
3024         (WebCore::WrapShapePolygon::WrapShapePolygon):
3025         * rendering/style/StyleRareNonInheritedData.h:
3026
3027 2012-08-30  Andrei Onea  <onea@adobe.com>
3028
3029         [CSSRegions]Add support for text-shadow in region styling
3030         https://bugs.webkit.org/show_bug.cgi?id=94472
3031
3032         Reviewed by David Hyatt.
3033
3034         The CSSRegions spec allows region styling to be applied on the text-shadow property
3035         as well. We need to also add this in WebKit.
3036
3037         Test: fast/regions/region-style-text-shadow.html
3038
3039         * css/StyleResolver.cpp:
3040         (WebCore::StyleResolver::collectMatchingRulesForList):
3041         Make sure we actually collect text-shadow property from parser in an @region rule.
3042         * rendering/InlineBox.cpp:
3043         (WebCore::InlineBox::styleInRegion):
3044         (WebCore):
3045         (WebCore::InlineBox::regionDuringLayout):
3046         * rendering/InlineBox.h:
3047         (WebCore):
3048         (InlineBox):
3049         * rendering/InlineFlowBox.cpp:
3050         (WebCore::InlineFlowBox::addToLine):
3051         Take into account region styling, so that "knownToHaveNoOverflow" is computed
3052         properly.
3053         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
3054         Take into account region styling, so that the visual overflow rect is computed
3055         properly.
3056         * rendering/RenderRegion.h:
3057         (RenderRegion):
3058         Made computeStyleInRegion public.
3059
3060 2012-08-30  Andreas Kling  <kling@webkit.org>
3061
3062         Element: Share code between setAttributeNode() and other attribute setters.
3063         <http://webkit.org/b/95328>
3064
3065         Reviewed by Antti Koivisto.
3066
3067         Removed the specialized ElementAttributeData::replaceAttribute() that was only used for
3068         replacing an existing Attr node on an Element. Instead, just use Element::setAttributeInternal()
3069         like all the other attribute setters.
3070
3071         * dom/Element.cpp:
3072         (WebCore::Element::setAttributeNode):
3073         * dom/ElementAttributeData.cpp:
3074         * dom/ElementAttributeData.h:
3075         (ElementAttributeData):
3076
3077 2012-08-30  Xan Lopez  <xlopez@igalia.com>
3078
3079         1.9.90 drops symbols, breaking compatibility
3080         https://bugs.webkit.org/show_bug.cgi?id=93477
3081
3082         Reviewed by Martin Robinson.
3083
3084         Add a bunch of compatibility methods to the GObject DOM bindings
3085         to cope with recent renames.
3086
3087         * bindings/gobject/WebKitDOMCustom.cpp:
3088         (webkit_dom_html_element_get_class_list):
3089         (webkit_dom_element_get_webkit_region_overflow):
3090         (webkit_dom_webkit_named_flow_get_content_nodes):
3091         (webkit_dom_webkit_named_flow_get_regions_by_content_node):
3092         * bindings/gobject/WebKitDOMCustom.h:
3093
3094 2012-08-29  Antti Koivisto  <antti@apple.com>
3095
3096         Cache and share parsed imported stylesheets
3097         https://bugs.webkit.org/show_bug.cgi?id=95219
3098
3099         Reviewed by Andreas Kling.
3100
3101         We currently cache and share parsed data structures of stylesheets loaded with <link>. We should do
3102         the same with stylesheets loaded using @import rules as they are also fairly common.
3103         
3104         This patch adds support for caching and sharing stylesheets loaded using @import rules. Only leaf
3105         stylesheets (that don't have @import rules themselves) can be cached for now.
3106
3107         * css/CSSImportRule.cpp:
3108         (WebCore::CSSImportRule::reattachStyleSheetContents):
3109         (WebCore):
3110         * css/CSSImportRule.h:
3111         (CSSImportRule):
3112         * css/CSSStyleSheet.cpp:
3113         (WebCore::CSSStyleSheet::willMutateRules):
3114         (WebCore::CSSStyleSheet::reattachCSSOMWrappers):
3115         * css/CSSStyleSheet.h:
3116         (CSSStyleSheet):
3117         * css/StyleRuleImport.cpp:
3118         (WebCore::StyleRuleImport::setCSSStyleSheet):
3119         (WebCore::StyleRuleImport::reattachStyleSheetContents):
3120         (WebCore):
3121         * css/StyleRuleImport.h:
3122         (StyleRuleImport):
3123         * loader/cache/CachedCSSStyleSheet.cpp:
3124         (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):
3125
3126 2012-08-30  Kangil Han  <kangil.han@samsung.com>
3127
3128         Fix compile warning when enable tiled backing store
3129         https://bugs.webkit.org/show_bug.cgi?id=95422
3130
3131         Reviewed by Kentaro Hara.
3132
3133         Fixed compile warning messages when enabled tiled backing store.
3134         In case of TiledBackingStore, it was first thought about static_cast<unsigned>.
3135         However, if minus value is assigned to the comparison, it would be critical.
3136         So, it was modified as using int value in tiled coordinate calculation.
3137
3138         * page/Frame.cpp:
3139         (WebCore::Frame::tiledBackingStorePaintEnd): comparison between signed and unsigned integer expressions [-Wsign-compare]
3140         * platform/graphics/TiledBackingStore.cpp:
3141         (WebCore::TiledBackingStore::invalidate): comparison between signed and unsigned integer expressions [-Wsign-compare]
3142         (WebCore::TiledBackingStore::paint): comparison between signed and unsigned integer expressions [-Wsign-compare]
3143         (WebCore::TiledBackingStore::coverageRatio): comparison between signed and unsigned integer expressions [-Wsign-compare]
3144         (WebCore::TiledBackingStore::createTiles): comparison between signed and unsigned integer expressions [-Wsign-compare]
3145         * platform/graphics/cairo/GLContext.cpp:
3146         (WebCore::GLContext::createOffscreenContext): no return statement in function returning non-void [-Wreturn-type]
3147
3148 2012-08-30  Anton Muhin  <antonm@chromium.org>
3149
3150         Heap-use-after-free in WebCore::ElementV8Internal::onclickAttrGetter
3151         https://bugs.webkit.org/show_bug.cgi?id=94440
3152
3153         Reviewed by Adam Barth.
3154
3155         The problem appears due to onerror callback which resets onclick attribute.
3156         As a part of changing onclick attribute value, previous event listener
3157         gets deref which led to its destruction and hence use-after-free.
3158         Refing it in ::getListenerObject helps to prevent this unfortunate scenario.
3159
3160         Test: fast/events/set-attribute-listener-window-onerror-crash.html
3161
3162         * bindings/v8/V8AbstractEventListener.h:
3163         (WebCore::V8AbstractEventListener::getListenerObject):
3164
3165 2012-08-30  Vsevolod Vlasov  <vsevik@chromium.org>
3166
3167         Web Inspector: [Sources] Invisible right sidebar issue
3168         https://bugs.webkit.org/show_bug.cgi?id=94924
3169
3170         Reviewed by Pavel Feldman.
3171
3172         Debugger sidebar resizer is now hidden when sidebar is hidden.
3173         Debugger sidebar show button is moved to the upper right corner in this case.
3174
3175         * inspector/front-end/ScriptsPanel.js:
3176         (WebInspector.ScriptsPanel.prototype._showDebuggerSidebar):
3177         (WebInspector.ScriptsPanel.prototype.set _hideDebuggerSidebar):
3178         * inspector/front-end/scriptsPanel.css:
3179         (button.status-bar-item.scripts-debugger-show-hide-button):
3180         (button.status-bar-item.scripts-debugger-show-hide-button:active):
3181         (button.status-bar-item.scripts-debugger-show-hide-button.toggled-shown):
3182         (button.status-bar-item.scripts-debugger-show-hide-button.toggled-shown:active):
3183         (button.status-bar-item.scripts-debugger-show-hide-button.toggled-hidden):
3184         (button.status-bar-item.scripts-debugger-show-hide-button.toggled-hidden:active):
3185
3186 2012-08-30  Ilya Tikhonovsky  <loislo@chromium.org>
3187
3188         Web Inspector: move GeneratedImage members into its own cpp file
3189         https://bugs.webkit.org/show_bug.cgi?id=95351
3190
3191         Reviewed by Yury Semikhatsky.
3192
3193         It is trivial patch. The methods of GeneratedImage were in GeneratorGeneratedImage.cpp file.
3194         It was Ok when it was a single method.
3195
3196         * CMakeLists.txt:
3197         * GNUmakefile.list.am:
3198         * Target.pri:
3199         * WebCore.gypi:
3200         * WebCore.vcproj/WebCore.vcproj:
3201         * WebCore.xcodeproj/project.pbxproj:
3202         * platform/graphics/GeneratedImage.cpp: Added.
3203         (WebCore):
3204         (WebCore::GeneratedImage::computeIntrinsicDimensions):
3205         (WebCore::GeneratedImage::reportMemoryUsage):
3206         * platform/graphics/GeneratorGeneratedImage.cpp:
3207
3208 2012-08-30  Patrick Gansterer  <paroga@webkit.org>
3209
3210         Build fix for WinCE after r126974.
3211
3212         * platform/graphics/BitmapImage.cpp:
3213         (WebCore::BitmapImage::reportMemoryUsage):
3214
3215 2012-08-30  Adam Barth  <abarth@webkit.org>
3216
3217         Replace uses of WTF::String::operator+= with StringBuilder
3218         https://bugs.webkit.org/show_bug.cgi?id=95416
3219
3220         Reviewed by Benjamin Poulain.
3221
3222         WTF::String::operator+= appears to be a sandtrap for contributors. The
3223         vast majority of the callers are using very inefficient string
3224         patterns. This patch removes the use of operator+= in favor of
3225         StringBuilder. Eventually, I'd like to remove operator+= so that more
3226         code doesn't fall into this trap.
3227
3228         * Modules/websockets/WebSocketHandshake.cpp:
3229         (WebCore::resourceName):
3230         * html/HTMLAnchorElement.cpp:
3231         (WebCore::appendServerMapMousePosition):
3232         (WebCore::HTMLAnchorElement::handleClick):
3233         * html/canvas/CanvasRenderingContext2D.cpp:
3234         (WebCore::CanvasRenderingContext2D::font):
3235         * platform/network/ResourceRequestBase.cpp:
3236         (WebCore::ResourceRequestBase::addHTTPHeaderField):
3237         * rendering/RenderLayerBacking.cpp:
3238         (WebCore::RenderLayerBacking::nameForLayer):
3239         * rendering/RenderTreeAsText.cpp:
3240         (WebCore::RenderTreeAsText::writeRenderObject):
3241         (WebCore::nodePosition):
3242         * rendering/style/RenderStyle.cpp:
3243         (WebCore::RenderStyle::setContent):
3244
3245 2012-08-30  Shinya Kawanaka  <shinyak@chromium.org>
3246
3247         AuthorShadowDOM support for textarea element.
3248         https://bugs.webkit.org/show_bug.cgi?id=91485
3249
3250         Reviewed by Dimitri Glazkov.
3251
3252         We add AuthorShadowDOM support for textarea element.
3253
3254         Unlike other replaced elements (e.g. meter, progress, img), we do not need to add
3255         extra RenderBlock when we add AuthorShadowDOM. However, since inner element will not have
3256         renderer when AuthorShadowDOM does not have any shadow insertion point, we have to check
3257         the existence of the renderer of inner element.
3258
3259         Tests: fast/dom/shadow/shadowdom-for-textarea-with-attribute.html
3260                fast/dom/shadow/shadowdom-for-textarea-with-placeholder.html
3261                fast/dom/shadow/shadowdom-for-textarea-with-style.html
3262                fast/dom/shadow/shadowdom-for-textarea.html
3263
3264         * dom/ShadowRoot.cpp:
3265         (WebCore::allowsAuthorShadowRoot): Needs allow textarea to have AuthorShadowRoot.
3266         * rendering/RenderTextControl.cpp: When AuthorShadowDOM does not have any insertion point,
3267         innerTextElement() will not have any renderer. We have to tweak these renderers not to be crashed.
3268         (WebCore::RenderTextControl::textBlockWidth):
3269         (WebCore::RenderTextControl::updateFromElement):
3270         (WebCore::RenderTextControl::computeLogicalHeight):
3271         (WebCore::RenderTextControl::hitInnerTextElement):
3272         (WebCore::RenderTextControl::computePreferredLogicalWidths):
3273
3274 2012-08-29  Adam Barth  <abarth@webkit.org>
3275
3276         [V8] ScriptController::matchesCurrentContext duplicates code from ScriptController::currentWorldContext
3277         https://bugs.webkit.org/show_bug.cgi?id=95156
3278
3279         Reviewed by Eric Seidel.
3280
3281         matchesCurrentContext duplicated code from currentWorldContext in order
3282         to avoid creating a new v8::Local handle in the (common) case that
3283         we're already in the right context. This patch just exposes an accessor
3284         for the underlying handle so that the bindings code can do this work
3285         itself.
3286
3287         * bindings/scripts/CodeGeneratorV8.pm:
3288         (GenerateToV8Converters):
3289         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
3290         (WebCore::V8TestActiveDOMObject::wrapSlow):
3291         * bindings/scripts/test/V8/V8TestNode.cpp:
3292         (WebCore::V8TestNode::wrapSlow):
3293         * bindings/v8/ScriptController.cpp:
3294         (WebCore::ScriptController::unsafeHandleToCurrentWorldContext):
3295         (WebCore):
3296         (WebCore::ScriptController::currentWorldContext):
3297         * bindings/v8/ScriptController.h:
3298         (ScriptController):
3299         * bindings/v8/V8DOMWindowShell.h:
3300         (WebCore::V8DOMWindowShell::context):
3301
3302 2012-08-29  Nat Duca  <nduca@chromium.org>
3303
3304         [chromium] setNeedsAnimate should not cause commitRequested to become true
3305         https://bugs.webkit.org/show_bug.cgi?id=95393
3306
3307         Reviewed by James Robinson.
3308
3309         We use the commitRequested state to determine if the page has been damaged, which
3310         then is used by the input flow control logic to coalesce input events. However, we
3311         actually have two notions of commitRequested. At the CCLayerTreeHost level, commit
3312         being requested means "we've changed the tree in some way." At the proxy level, it
3313         means "we've sent a commit request to the impl thread." Without this patch,
3314         we use the latter state to answer ::commitRequested. That causes setNeedsAnimate
3315         to incorrectly cause the commitRequested bit to be set.
3316
3317         This change separates the setNeedsCommit state from commitRequestSentToImplThread.
3318         This allows us to correctly answer commitRequested in face of mixed animation and
3319         invalidation requests.
3320
3321         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3322         (WebCore::CCThreadProxy::CCThreadProxy):
3323         (WebCore::CCThreadProxy::setNeedsAnimate):
3324         (WebCore::CCThreadProxy::setNeedsCommit):
3325         (WebCore::CCThreadProxy::beginFrame):
3326         * platform/graphics/chromium/cc/CCThreadProxy.h:
3327         (CCThreadProxy):
3328
3329 2012-08-29  Simon Hausmann  <simon.hausmann@nokia.com>
3330
3331         [Qt] REGRESSION(r126694): It broke the debug build
3332         https://bugs.webkit.org/show_bug.cgi?id=95037
3333
3334         Unreviewed trivial build fix for debug builds.
3335
3336         Don't pass WTFStrings through printf, use .ascii().data().
3337
3338         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
3339         (WebCore::StandardFilterProgram::StandardFilterProgram):
3340
3341 2012-08-29  Rafael Brandao  <rafael.lobo@openbossa.org>
3342
3343         Fix assertion on Document::recalcStyle to not recalc style while painting
3344         https://bugs.webkit.org/show_bug.cgi?id=95386
3345
3346         Reviewed by Eric Seidel.
3347
3348         * dom/Document.cpp: Move assertion outside the if to reflect that safety check.
3349
3350 2012-08-29  Aaron Colwell  <acolwell@chromium.org>
3351
3352         Add WebKit prefix to MediaSource, SourceBuffer, & SourceBufferList DOMWindow constructor attributes.
3353         https://bugs.webkit.org/show_bug.cgi?id=95247
3354
3355         Reviewed by Eric Carlson.
3356
3357         Add WebKit prefix to MediaSource, SourceBuffer, and SourceBufferList object constructor attributes.
3358
3359         Covered by existing layout tests..
3360
3361         * page/DOMWindow.idl:
3362
3363 2012-08-29  Nate Chapin  <japhet@chromium.org>
3364
3365         ProgressTracker never completes if iframe detached during parsing 
3366         https://bugs.webkit.org/show_bug.cgi?id=92272
3367
3368         Reviewed by Adam Barth.
3369
3370         Add a simple helper class to FrameLoader to ensure progressStarted/progressCompleted calls are matched,
3371         and balance the calls when the Frame is detached.
3372
3373         No new tests, as this behavior has only been producing reliably by setting a breakpoint in a specific place.
3374
3375         * loader/FrameLoader.cpp:
3376         (FrameLoader::FrameProgressTracker):
3377         (WebCore::FrameLoader::FrameProgressTracker::create):
3378         (WebCore::FrameLoader::FrameProgressTracker::~FrameProgressTracker):
3379         (WebCore::FrameLoader::FrameProgressTracker::progressStarted):
3380         (WebCore::FrameLoader::FrameProgressTracker::progressCompleted):
3381         (WebCore::FrameLoader::FrameProgressTracker::FrameProgressTracker):
3382         (WebCore):
3383         (WebCore::FrameLoader::init):
3384         (WebCore::FrameLoader::prepareForLoadStart):
3385         (WebCore::FrameLoader::clearProvisionalLoad):
3386         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
3387         (WebCore::FrameLoader::detachFromParent):
3388         * loader/FrameLoader.h:
3389         (FrameLoader):
3390
3391 2012-08-29  Yoshifumi Inoue  <yosin@chromium.org>
3392
3393         [Forms] Rename DateTimeFieldElement::FieldEventHandler to FieldOwner
3394         https://bugs.webkit.org/show_bug.cgi?id=95280
3395
3396         Reviewed by Kent Tamura.
3397
3398         This patch renames DateTimeFieldElement::FieldEventHandler to FieldOwner
3399         for matching functionaly of class and class name to add functions like
3400         focusOnNextField().
3401
3402         This patch affects ports which enables both ENABLE_INPUT_TYPE_TIME and
3403         ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
3404
3405         This patch is a part of changing Shift+Tab focus navigation of
3406         multiple fields input time UI, bug 95168.
3407
3408         No new tests. This patch doesn't change behavior.
3409
3410         * html/shadow/DateTimeEditElement.h:
3411         (DateTimeEditElement):
3412         * html/shadow/DateTimeFieldElement.cpp:
3413         (WebCore::DateTimeFieldElement::FieldOwner::~FieldOwner):
3414         (WebCore::DateTimeFieldElement::DateTimeFieldElement):
3415         (WebCore::DateTimeFieldElement::focusOnNextField):
3416         (WebCore::DateTimeFieldElement::updateVisibleValue):
3417         * html/shadow/DateTimeFieldElement.h:
3418         (FieldOwner):
3419         (WebCore::DateTimeFieldElement::removeEventHandler):
3420         (DateTimeFieldElement):
3421         * html/shadow/DateTimeFieldElements.cpp:
3422         (WebCore::DateTimeAMPMFieldElement::DateTimeAMPMFieldElement):
3423       &nbs