WebKitRenderer.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 10 Jun 2011 23:33:53 +0000
changeset 18 92189b67e243
parent 17 47ca84a7375e
child 21 16f7e3dfeb75
permissions -rw-r--r--
- WebKitView: do not spawn renderer if already running - added webKit22x22 icon
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:libwebkit' }"
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
Object subclass:#WebKitRenderer
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
     4
	instanceVariableNames:'view pid socket channel'
17
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
     5
	classVariableNames:'UzblCorePath Debug'
2
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	poolDictionaries:''
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	category:'Views-WebKit'
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
!
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    10
PeekableStream subclass:#Channel
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
    11
	instanceVariableNames:'socket peekChar buffer'
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    12
	classVariableNames:''
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    13
	poolDictionaries:''
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    14
	privateIn:WebKitRenderer
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    15
!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    16
17
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    17
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    18
!WebKitRenderer class methodsFor:'initialization'!
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    19
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    20
initialize
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    21
    "Invoked at system start or when the class is dynamically loaded."
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    22
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    23
    "/ please change as required (and remove this comment)
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    24
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    25
    Debug := false
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    26
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    27
    "Modified: / 10-06-2011 / 18:39:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    28
! !
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    29
2
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
!WebKitRenderer class methodsFor:'instance creation'!
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
for: aWebKitView
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    34
    ^self new initializeForView: aWebKitView
2
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
    "Created: / 02-06-2011 / 23:38:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
    37
    "Modified: / 06-06-2011 / 10:38:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
! !
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
15
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    40
!WebKitRenderer class methodsFor:'accessing'!
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    41
17
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    42
debug: aBoolean
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    43
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    44
    Debug := aBoolean
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    45
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    46
    "Created: / 10-06-2011 / 18:40:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    47
!
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    48
15
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    49
uzblCorePath
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    50
16
ee672c89d1b4 Initalization fixed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    51
    UzblCorePath ifNil:[
ee672c89d1b4 Initalization fixed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    52
        UzblCorePath := ((Smalltalk packageDirectoryForPackageId: 'stx:libwebkit') / 'uzbl' / 'uzbl-core') pathName.
ee672c89d1b4 Initalization fixed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    53
    ].
15
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    54
    ^UzblCorePath
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    55
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    56
    "Created: / 10-06-2011 / 09:56:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    57
!
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    58
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    59
uzblCorePath: aStringOrFilename
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    60
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    61
    UzblCorePath := aStringOrFilename
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    62
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    63
    "Created: / 10-06-2011 / 09:56:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    64
! !
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    65
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    66
!WebKitRenderer class methodsFor:'queries'!
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    67
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    68
isAvailable
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    69
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    70
    ^OperatingSystem isUNIXlike and:
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    71
        [self uzblCorePath asFilename isExecutable]
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    72
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    73
    "Created: / 10-06-2011 / 09:57:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    74
! !
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    75
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    76
!WebKitRenderer methodsFor:'commands'!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    77
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    78
setVariable: name to: value
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    79
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    80
    channel ifNil:[^self].
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    81
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    82
    channel
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    83
        nextPutAll: #set;
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    84
        space;
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    85
        nextPutAll: name;
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    86
        nextPut:$=;
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    87
        nextPutAll: value printString;
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    88
        cr
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    89
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    90
    "Created: / 07-06-2011 / 10:21:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    91
! !
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    92
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    93
!WebKitRenderer methodsFor:'event handling'!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    94
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    95
LOAD_COMMIT: event
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    96
6
14d6a7489a64 Fixes in event handling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
    97
    view url value ~= event second ifTrue:
14d6a7489a64 Fixes in event handling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
    98
        [view url value: event second].
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    99
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   100
    "Created: / 07-06-2011 / 11:36:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6
14d6a7489a64 Fixes in event handling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   101
    "Modified: / 07-06-2011 / 19:29:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11
9388b5fb34aa Added support for title
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   102
!
9388b5fb34aa Added support for title
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   103
9388b5fb34aa Added support for title
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   104
TITLE_CHANGED: event
9388b5fb34aa Added support for title
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   105
9388b5fb34aa Added support for title
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   106
    event second = '(no title)' ifFalse:
9388b5fb34aa Added support for title
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   107
        [view title value: event second].
9388b5fb34aa Added support for title
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   108
9388b5fb34aa Added support for title
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   109
    "Created: / 08-06-2011 / 14:14:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   110
! !
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   111
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   112
!WebKitRenderer methodsFor:'event loop'!
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   113
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   114
dispatchEvent
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   115
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   116
    | ev sym |
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   117
    ev := channel nextEvent.
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   118
17
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   119
    (self respondsTo: (sym := (ev first , ':') asSymbol)) ifTrue: [
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   120
        self perform: sym with: ev
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   121
    ] ifFalse: [
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   122
        Debug ifTrue:[
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   123
            Transcript showCR: 'UNKNOWN EVENT: ', ev asArray printString
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   124
        ]
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   125
    ].
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   126
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   127
    "Created: / 06-06-2011 / 18:13:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   128
    "Modified: / 10-06-2011 / 18:40:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   129
!
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   130
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   131
eventLoop
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   132
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   133
    [ channel atEnd ] whileFalse: [
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   134
        self dispatchEvent 
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   135
    ]
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   136
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   137
    "Created: / 06-06-2011 / 18:00:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   138
    "Modified: / 07-06-2011 / 10:52:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   139
! !
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   140
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   141
!WebKitRenderer methodsFor:'initialization & release'!
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   142
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   143
close
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   144
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   145
    "Created: / 06-06-2011 / 18:38:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   146
    "Modified: / 07-06-2011 / 10:32:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   147
!
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   148
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   149
init
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   150
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   151
    self                                                            
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   152
        setVariable: #forward_keys to: 1;
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   153
        setVariable: #show_status to: 0;
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   154
        setVariable: #scrollbars_visible to: 1;
7
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
   155
        setVariable: #uri to: view url value;
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   156
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   157
        yourself
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   158
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   159
    "Created: / 06-06-2011 / 18:00:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
   160
    "Modified: / 07-06-2011 / 19:57:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   161
!
2
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
initializeForView: aWebKitView
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
    view := aWebKitView.
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
    "Created: / 02-06-2011 / 23:38:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
! !
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   170
!WebKitRenderer methodsFor:'private'!
2
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   172
startEventLoop
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   173
    
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   174
    [ 
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   175
        self waitFor; init; eventLoop; close
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   176
    ] fork
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   177
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   178
    "Created: / 06-06-2011 / 17:57:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   179
!
2
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   181
waitFor
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   182
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   183
    socket listenFor: 1.
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   184
    channel := Channel on: socket accept.
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   185
    socket port asFilename remove.
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   186
    socket close.
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   187
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   188
    "Created: / 06-06-2011 / 18:00:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   189
    "Modified: / 07-06-2011 / 10:49:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   190
! !
2
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
15
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   192
!WebKitRenderer methodsFor:'queries'!
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   193
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   194
isAvailable
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   195
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   196
    ^self class isAvailable
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   197
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   198
    "Created: / 10-06-2011 / 09:58:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
18
92189b67e243 - WebKitView: do not spawn renderer if already running
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   199
!
92189b67e243 - WebKitView: do not spawn renderer if already running
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   200
92189b67e243 - WebKitView: do not spawn renderer if already running
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   201
isRunning
92189b67e243 - WebKitView: do not spawn renderer if already running
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   202
92189b67e243 - WebKitView: do not spawn renderer if already running
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   203
    ^pid notNil
92189b67e243 - WebKitView: do not spawn renderer if already running
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   204
92189b67e243 - WebKitView: do not spawn renderer if already running
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   205
    "Created: / 10-06-2011 / 23:41:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
15
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   206
! !
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   207
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   208
!WebKitRenderer methodsFor:'spawn / terminate'!
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   209
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   210
spawn
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   211
    |path uzbl args|
2
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   213
    path := Filename newTemporary.
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   214
    socket := Socket newUNIXserverAt:path pathName.
15
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   215
    uzbl := self class uzblCorePath.
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   216
    args := (Array 
15
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   217
                with:uzbl
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   218
                with:'-s'
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   219
                with:view rendererView embeddingWindowId printString
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   220
                with:'--connect-socket=' , path pathName).
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   221
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   222
    self startEventLoop.
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   223
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   224
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   225
    pid := OperatingSystem
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   226
     exec: uzbl
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   227
     withArguments: args
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   228
     fork: true.
2
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   229
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   230
    "Created: / 02-06-2011 / 23:40:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
15
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   231
    "Modified: / 10-06-2011 / 09:59:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   232
!
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   233
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   234
terminate
18
92189b67e243 - WebKitView: do not spawn renderer if already running
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   235
92189b67e243 - WebKitView: do not spawn renderer if already running
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   236
    pid := nil.
92189b67e243 - WebKitView: do not spawn renderer if already running
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   237
2
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   238
    "Created: / 02-06-2011 / 23:40:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
18
92189b67e243 - WebKitView: do not spawn renderer if already running
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   239
    "Modified: / 10-06-2011 / 23:41:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   240
! !
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   241
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   242
!WebKitRenderer::Channel class methodsFor:'instance creation'!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   243
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   244
on: aReadStream
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   245
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   246
    ^self basicNew initializeOn: aReadStream
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   247
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   248
    "Created: / 07-06-2011 / 10:44:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   249
! !
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   250
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   251
!WebKitRenderer::Channel methodsFor:'accessing'!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   252
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   253
contents
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   254
    "return the entire contents of the stream.
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   255
     For a readStream, that is the rest (i.e. upToEnd),
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   256
     for a writeStream, that is the collected data. As we do not know here,
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   257
     what we are, this is the responsibility of a subclass..."
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   258
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   259
    ^ self shouldNotImplement
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   260
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   261
    "Modified: / 07-06-2011 / 10:46:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   262
!
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   263
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   264
peekChar
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   265
    ^ peekChar
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   266
!
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   267
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   268
peekChar:something
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   269
    peekChar := something.
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   270
! !
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   271
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   272
!WebKitRenderer::Channel methodsFor:'initialization'!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   273
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   274
initializeOn: aReadStream
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   275
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   276
    socket := aReadStream.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   277
    buffer := String new writeStream.
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   278
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   279
    "Created: / 07-06-2011 / 10:45:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   280
    "Modified: / 08-06-2011 / 13:12:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   281
! !
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   282
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   283
!WebKitRenderer::Channel methodsFor:'private'!
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   284
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   285
contentsSpecies
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   286
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   287
    ^String
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   288
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   289
    "Created: / 08-06-2011 / 13:19:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   290
! !
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   291
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   292
!WebKitRenderer::Channel methodsFor:'queries'!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   293
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   294
isReadable
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   295
    "return true, if reading is supported by the recevier.
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   296
     This has to be redefined in concrete subclasses."
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   297
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   298
    ^ socket isReadable
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   299
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   300
    "Modified: / 07-06-2011 / 10:46:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   301
!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   302
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   303
isWritable
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   304
    "return true, if writing is supported by the recevier.
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   305
     This has to be redefined in concrete subclasses."
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   306
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   307
    ^ socket isWritable
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   308
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   309
    "Modified: / 07-06-2011 / 10:46:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   310
! !
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   311
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   312
!WebKitRenderer::Channel methodsFor:'reading'!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   313
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   314
expect: aString
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   315
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   316
    | s |
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   317
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   318
    (s := self next: aString size) ~= aString
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   319
        ifTrue:[self error: 'Unexpect data in rendered channel'].
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   320
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   321
    "Created: / 07-06-2011 / 10:55:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   322
!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   323
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   324
next
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   325
    "return the next element of the stream
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   326
     - we do not know here how to do it, it must be redefined in subclass"
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   327
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   328
    | char |
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   329
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   330
    ^peekChar isNil ifFalse:[
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   331
        char := peekChar.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   332
        peekChar := nil.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   333
        char.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   334
    ] ifTrue:[
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   335
        socket next
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   336
    ]
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   337
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   338
    "Modified: / 08-06-2011 / 13:02:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   339
!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   340
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   341
next: n
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   342
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   343
    | nextn |
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   344
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   345
    peekChar isNil ifTrue:[
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   346
        nextn := socket next: n
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   347
    ] ifFalse:[
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   348
        nextn := peekChar asString , socket next: n - 1.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   349
        peekChar := nil
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   350
    ].
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   351
    ^nextn
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   352
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   353
    "Created: / 07-06-2011 / 11:01:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   354
    "Modified: / 08-06-2011 / 13:04:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   355
!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   356
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   357
nextEvent
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   358
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   359
    | ev arg |
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   360
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   361
    ev := OrderedCollection new: 4.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   362
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   363
    self upTo:$E.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   364
    self expect: 'VENT ['.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   365
    self skipFor:$].
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   366
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   367
    ev add: (self upTo: Character space).
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   368
    
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   369
    [ (arg := self nextStringOrSymbolOrNumber) notNil] whileTrue:
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   370
        [ev add: arg].
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   371
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   372
    ^ev asArray
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   373
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   374
    "
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   375
        (WebKitRenderer::Channel on: 'EVENT [1234] LOAD_COMMIT ''http://www.smalltalk-x.de''' readStream)
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   376
            nextEvent.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   377
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   378
        (WebKitRenderer::Channel on: 'EVENT [1234] TITLE ''This is title''' readStream)
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   379
            nextEvent.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   380
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   381
        (WebKitRenderer::Channel on: 'EVENT [1234] TITLE ''rock\''n\''roll''' readStream)
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   382
            nextEvent.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   383
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   384
        (WebKitRenderer::Channel on: 'EVENT [1234] VARIABLE_SET name str ''xxx''' readStream)
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   385
            nextEvent.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   386
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   387
        (WebKitRenderer::Channel on: 'EVENT [1234] VARIABLE_SET name int 12' readStream)
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   388
            nextEvent.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   389
10
c8eeee6c945e Fixes in event reading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   390
        (WebKitRenderer::Channel on: 'EVENT [1234] VARIABLE_SET name float 1.2
c8eeee6c945e Fixes in event reading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   391
EVENT [1234] VARIABLE_SET name string ''xxx''' readStream)
c8eeee6c945e Fixes in event reading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   392
            nextEvent
c8eeee6c945e Fixes in event reading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   393
        
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   394
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   395
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   396
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   397
    "
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   398
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   399
    "Created: / 07-06-2011 / 10:52:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10
c8eeee6c945e Fixes in event reading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   400
    "Modified: / 08-06-2011 / 13:45:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   401
!
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   402
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   403
nextNumberOrSymbol
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   404
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   405
    | contents |
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   406
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   407
    buffer reset.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   408
    buffer nextPut: self next.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   409
    [self atEnd not and:[self peek isAlphaNumeric]] whileTrue:[
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   410
        buffer nextPut: self next.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   411
    ].
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   412
    self peek == $. ifTrue:[
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   413
        buffer nextPut: self next.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   414
        [self atEnd not and:[self peek isAlphaNumeric]] whileTrue:[
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   415
            buffer nextPut: self next.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   416
        ]
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   417
    ].
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   418
    contents := buffer contents.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   419
    (contents anySatisfy:[:c|c isLetter])
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   420
        ifTrue:[contents := contents asSymbol]
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   421
        ifFalse:[contents := contents asNumber].
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   422
    ^contents.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   423
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   424
    "Created: / 08-06-2011 / 13:06:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   425
!
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   426
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   427
nextString
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   428
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   429
    | char |
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   430
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   431
    "/eat $'
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   432
    buffer reset.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   433
    self next.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   434
    [self atEnd not and:[(char := self next) ~~ $']] whileTrue:[
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   435
        char == $\ ifTrue:[char := self next].
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   436
        buffer nextPut: char.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   437
    ].
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   438
    ^buffer contents.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   439
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   440
    "Created: / 08-06-2011 / 13:06:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   441
!
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   442
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   443
nextStringOrSymbolOrNumber
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   444
10
c8eeee6c945e Fixes in event reading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   445
c8eeee6c945e Fixes in event reading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   446
    socket atEnd ifTrue:[^nil].
c8eeee6c945e Fixes in event reading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   447
    self peek == Character cr ifTrue:[^nil]. 
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   448
    self skipSeparators.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   449
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   450
    self peek == $' ifTrue:[^self nextString].
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   451
    self peek isDigit ifTrue:[^self nextNumberOrSymbol].
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   452
    ^self nextSymbol
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   453
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   454
    "Created: / 08-06-2011 / 12:57:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   455
!
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   456
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   457
nextSymbol
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   458
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   459
    ^super nextSymbol asSymbol
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   460
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   461
    "Created: / 08-06-2011 / 13:20:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   462
!
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   463
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   464
peek
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   465
    "return the next element of the stream without advancing (i.e.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   466
     the following send of next will return this element again.)
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   467
     - we do not know here how to do it, it must be redefined in subclass"
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   468
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   469
    peekChar ifNil:[peekChar := socket next].
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   470
    ^peekChar.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   471
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   472
    "Modified: / 08-06-2011 / 13:00:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   473
! !
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   474
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   475
!WebKitRenderer::Channel methodsFor:'reading (old)'!
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   476
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   477
old_nextEvent
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   478
5
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   479
    | ev |
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   480
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   481
    ev := OrderedCollection new: 4.
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   482
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   483
    self upTo:$E.
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   484
    self expect: 'VENT ['.
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   485
    self skipFor:$].
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   486
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   487
    ev add: (self upTo: Character space).
6
14d6a7489a64 Fixes in event handling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   488
    
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   489
    [ self old_nextEventArgumentIn: ev ] whileTrue.
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   490
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   491
    ^ev asArray
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   492
5
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   493
    "
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   494
        (WebKitRenderer::Channel on: 'EVENT [1234] LOAD_COMMIT ''http://www.smalltalk-x.de''' readStream)
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   495
            nextEvent.
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   496
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   497
        (WebKitRenderer::Channel on: 'EVENT [1234] VARIABLE_SET name str ''xxx''' readStream)
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   498
            nextEvent.
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   499
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   500
        (WebKitRenderer::Channel on: 'EVENT [1234] VARIABLE_SET name int 12' readStream)
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   501
            nextEvent.
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   502
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   503
        (WebKitRenderer::Channel on: 'EVENT [1234] VARIABLE_SET name float 1.2' readStream)
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   504
            nextEvent.
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   505
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   506
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   507
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   508
    "
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   509
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   510
    "Created: / 08-06-2011 / 12:57:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   511
!
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   512
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   513
old_nextEventArgumentIn: event
5
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   514
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   515
    | s c conv |
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   516
    s := String new writeStream.
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   517
    [ socket atEnd not and:[(c := socket next) ~~ Character space and:[ c ~~ Character cr ] ] ] 
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   518
        whileTrue: [ 
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   519
            conv == nil ifTrue: [
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   520
                c == $' ifTrue:[conv := #asString. c := socket next.] ifFalse:[
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   521
                c isDigit ifTrue: [conv := #asNumber] ifFalse:[
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   522
                conv := #asSymbol]]
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   523
            ].
6
14d6a7489a64 Fixes in event handling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   524
            (conv == #asNumber and:[c isDigit not and:[c ~~ $.]]) ifTrue:
14d6a7489a64 Fixes in event handling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   525
                [conv := #asSymbol].
5
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   526
            s nextPut: c.
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   527
    ].
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   528
    conv ifNotNil:[
6
14d6a7489a64 Fixes in event handling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   529
        conv = #asString ifTrue:[s skip: -1].
5
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   530
        event add: (s contents perform: conv).
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   531
    ].
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   532
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   533
    ^c == Character space.
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   534
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   535
    "Created: / 08-06-2011 / 12:47:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   536
! !
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   537
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   538
!WebKitRenderer::Channel methodsFor:'testing'!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   539
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   540
atEnd
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   541
    "return true if the end of the stream has been reached;
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   542
     - we do not know here how to do it, it must be redefined in subclass"
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   543
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   544
    ^ socket atEnd
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   545
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   546
    "Modified: / 07-06-2011 / 10:46:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   547
!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   548
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   549
isEmpty
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   550
    "return true, if the contents of the stream is empty"
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   551
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   552
    ^ socket isEmpty
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   553
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   554
    "Modified: / 07-06-2011 / 10:46:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   555
! !
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   556
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   557
!WebKitRenderer::Channel methodsFor:'writing'!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   558
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   559
cr
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   560
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   561
    ^ socket cr
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   562
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   563
    "Created: / 07-06-2011 / 10:51:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   564
!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   565
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   566
nextPut:anObject
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   567
    "put the argument, anObject onto the receiver
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   568
     - we do not know here how to do it, it must be redefined in subclass"
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   569
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   570
    ^ socket nextPut:anObject
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   571
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   572
    "Modified: / 07-06-2011 / 10:50:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   573
!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   574
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   575
nextPutAll:anObject
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   576
    "put the argument, anObject onto the receiver
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   577
     - we do not know here how to do it, it must be redefined in subclass"
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   578
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   579
    ^ socket nextPutAll:anObject
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   580
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   581
    "Created: / 07-06-2011 / 10:51:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   582
!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   583
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   584
space
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   585
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   586
    ^ socket space
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   587
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   588
    "Created: / 07-06-2011 / 10:51:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   589
! !
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   590
2
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   591
!WebKitRenderer class methodsFor:'documentation'!
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   592
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   593
version_SVN
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   594
    ^ '$Id$'
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   595
! !
17
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   596
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   597
WebKitRenderer initialize!