WebKitRenderer.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Sat, 11 Feb 2012 20:20:57 +0000
changeset 25 3afbf7f43e42
parent 22 547d30334073
child 26 35e0080c5e32
permissions -rw-r--r--
Enable debug for JV by default
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
25
3afbf7f43e42 Enable debug for JV by default
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
    25
    Debug := (OperatingSystem getLoginName  = 'jv')
17
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
    26
25
3afbf7f43e42 Enable debug for JV by default
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 22
diff changeset
    27
    "Modified: / 11-02-2012 / 20:21:00 / 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
    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
22
547d30334073 Fixes path to WebKitRenderer, initial support for multiple architectures...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 21
diff changeset
    51
    | renderer |
547d30334073 Fixes path to WebKitRenderer, initial support for multiple architectures...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 21
diff changeset
    52
16
ee672c89d1b4 Initalization fixed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    53
    UzblCorePath ifNil:[
22
547d30334073 Fixes path to WebKitRenderer, initial support for multiple architectures...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 21
diff changeset
    54
        renderer := 'WebKitRenderer.' , (OperatingSystem getSystemInfo at:#machine).
547d30334073 Fixes path to WebKitRenderer, initial support for multiple architectures...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 21
diff changeset
    55
        UzblCorePath := ((Smalltalk packageDirectoryForPackageId: 'stx:libwebkit') / renderer ) pathName.
16
ee672c89d1b4 Initalization fixed
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    56
    ].
15
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    57
    ^UzblCorePath
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
    "Created: / 10-06-2011 / 09:56:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
22
547d30334073 Fixes path to WebKitRenderer, initial support for multiple architectures...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 21
diff changeset
    60
    "Modified: / 20-06-2011 / 11:27:20 / 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
    61
!
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
uzblCorePath: aStringOrFilename
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
    UzblCorePath := aStringOrFilename
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    66
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    67
    "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
    68
! !
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
!WebKitRenderer class methodsFor:'queries'!
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    71
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    72
isAvailable
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    73
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    74
    ^OperatingSystem isUNIXlike and:
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    75
        [self uzblCorePath asFilename isExecutable]
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    76
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    77
    "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
    78
! !
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    79
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    80
!WebKitRenderer methodsFor:'commands'!
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
setVariable: name to: value
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    83
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    84
    channel ifNil:[^self].
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    85
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    86
    channel
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    87
        nextPutAll: #set;
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    88
        space;
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    89
        nextPutAll: name;
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    90
        nextPut:$=;
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    91
        nextPutAll: value printString;
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    92
        cr
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    93
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    94
    "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
    95
! !
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    96
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    97
!WebKitRenderer methodsFor:'event handling'!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    98
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    99
LOAD_COMMIT: event
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   100
6
14d6a7489a64 Fixes in event handling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   101
    view url value ~= event second ifTrue:
14d6a7489a64 Fixes in event handling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   102
        [view url value: event second].
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   103
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   104
    "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
   105
    "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
   106
!
9388b5fb34aa Added support for title
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   107
9388b5fb34aa Added support for title
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   108
TITLE_CHANGED: event
9388b5fb34aa Added support for title
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   109
9388b5fb34aa Added support for title
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   110
    event second = '(no title)' ifFalse:
9388b5fb34aa Added support for title
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   111
        [view title value: event second].
9388b5fb34aa Added support for title
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   112
9388b5fb34aa Added support for title
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   113
    "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
   114
! !
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   115
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   116
!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
   117
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   118
dispatchEvent
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   119
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   120
    | ev sym |
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   121
    ev := channel nextEvent.
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   122
17
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   123
    (self respondsTo: (sym := (ev first , ':') asSymbol)) ifTrue: [
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   124
        self perform: sym with: ev
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   125
    ] ifFalse: [
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   126
        Debug ifTrue:[
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   127
            Transcript showCR: 'UNKNOWN EVENT: ', ev asArray printString
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   128
        ]
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   129
    ].
3
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
    "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
   132
    "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
   133
!
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   134
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   135
eventLoop
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   136
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   137
    [ 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
   138
        self dispatchEvent 
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
    "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
   142
    "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
   143
! !
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
!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
   146
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   147
close
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
    "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
   150
    "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
   151
!
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   152
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   153
init
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   154
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   155
    self                                                            
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   156
        setVariable: #forward_keys to: 1;
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   157
        setVariable: #show_status to: 0;
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   158
        setVariable: #scrollbars_visible to: 1;
7
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
   159
        setVariable: #uri to: view url value;
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   160
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   161
        yourself
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   162
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   163
    "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
   164
    "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
   165
!
2
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
initializeForView: aWebKitView
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
    view := aWebKitView.
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
    "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
   172
! !
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   174
!WebKitRenderer methodsFor:'private'!
2
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   176
startEventLoop
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
    [ 
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   179
        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
   180
    ] fork
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   181
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   182
    "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
   183
!
2
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   185
waitFor
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   186
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   187
    socket listenFor: 1.
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   188
    channel := Channel on: socket accept.
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   189
    socket port asFilename remove.
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   190
    socket close.
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   191
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   192
    "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
   193
    "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
   194
! !
2
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
15
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   196
!WebKitRenderer methodsFor:'queries'!
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
isAvailable
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   199
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   200
    ^self class isAvailable
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   201
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   202
    "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
   203
!
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
isRunning
92189b67e243 - WebKitView: do not spawn renderer if already running
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   206
92189b67e243 - WebKitView: do not spawn renderer if already running
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   207
    ^pid notNil
92189b67e243 - WebKitView: do not spawn renderer if already running
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   208
92189b67e243 - WebKitView: do not spawn renderer if already running
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   209
    "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
   210
! !
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   211
21
16f7e3dfeb75 WebKitRenderer: added fake render:on:at:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
   212
!WebKitRenderer methodsFor:'renderer API'!
16f7e3dfeb75 WebKitRenderer: added fake render:on:at:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
   213
16f7e3dfeb75 WebKitRenderer: added fake render:on:at:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
   214
render:webKitView1 on:webKitView2 at:aPoint
16f7e3dfeb75 WebKitRenderer: added fake render:on:at:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
   215
16f7e3dfeb75 WebKitRenderer: added fake render:on:at:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
   216
    "Nothing to do here, since my renderer process renders
16f7e3dfeb75 WebKitRenderer: added fake render:on:at:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
   217
     the content"
16f7e3dfeb75 WebKitRenderer: added fake render:on:at:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
   218
16f7e3dfeb75 WebKitRenderer: added fake render:on:at:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
   219
    "Created: / 15-06-2011 / 15:22:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
16f7e3dfeb75 WebKitRenderer: added fake render:on:at:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
   220
! !
16f7e3dfeb75 WebKitRenderer: added fake render:on:at:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 18
diff changeset
   221
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   222
!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
   223
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   224
spawn
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   225
    |path uzbl args|
2
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   226
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   227
    path := Filename newTemporary.
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   228
    socket := Socket newUNIXserverAt:path pathName.
15
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   229
    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
   230
    args := (Array 
15
f46eba00e7cb - WebKitView now uses bundled uzbl-core
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   231
                with:uzbl
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   232
                with:'-s'
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   233
                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
   234
                with:'--connect-socket=' , path pathName).
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   235
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   236
    self startEventLoop.
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   237
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   238
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   239
    pid := OperatingSystem
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   240
     exec: uzbl
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   241
     withArguments: args
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   242
     fork: true.
2
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   243
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   244
    "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
   245
    "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
   246
!
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   247
3
32456ba40192 Starts uzbl process and connects to its control socket
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   248
terminate
18
92189b67e243 - WebKitView: do not spawn renderer if already running
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   249
92189b67e243 - WebKitView: do not spawn renderer if already running
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   250
    pid := nil.
92189b67e243 - WebKitView: do not spawn renderer if already running
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   251
2
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   252
    "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
   253
    "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
   254
! !
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   255
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   256
!WebKitRenderer::Channel class methodsFor:'instance creation'!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   257
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   258
on: aReadStream
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   259
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   260
    ^self basicNew initializeOn: aReadStream
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   261
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   262
    "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
   263
! !
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   264
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   265
!WebKitRenderer::Channel methodsFor:'accessing'!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   266
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   267
contents
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   268
    "return the entire contents of the stream.
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   269
     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
   270
     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
   271
     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
   272
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   273
    ^ self shouldNotImplement
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   274
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   275
    "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
   276
!
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   277
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   278
peekChar
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   279
    ^ peekChar
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   280
!
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
peekChar:something
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   283
    peekChar := something.
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   284
! !
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   285
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   286
!WebKitRenderer::Channel methodsFor:'initialization'!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   287
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   288
initializeOn: aReadStream
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   289
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   290
    socket := aReadStream.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   291
    buffer := String new writeStream.
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   292
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   293
    "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
   294
    "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
   295
! !
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   296
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   297
!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
   298
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   299
contentsSpecies
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   300
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   301
    ^String
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   302
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   303
    "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
   304
! !
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   305
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   306
!WebKitRenderer::Channel methodsFor:'queries'!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   307
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   308
isReadable
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   309
    "return true, if reading is supported by the recevier.
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   310
     This has to be redefined in concrete subclasses."
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
    ^ socket isReadable
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
    "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
   315
!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   316
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   317
isWritable
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   318
    "return true, if writing is supported by the recevier.
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   319
     This has to be redefined in concrete subclasses."
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
    ^ socket isWritable
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
    "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
   324
! !
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   325
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   326
!WebKitRenderer::Channel methodsFor:'reading'!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   327
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   328
expect: aString
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   329
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   330
    | s |
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   331
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   332
    (s := self next: aString size) ~= aString
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   333
        ifTrue:[self error: 'Unexpect data in rendered channel'].
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   334
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   335
    "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
   336
!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   337
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   338
next
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   339
    "return the next element of the stream
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   340
     - 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
   341
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   342
    | char |
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   343
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   344
    ^peekChar isNil ifFalse:[
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   345
        char := peekChar.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   346
        peekChar := nil.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   347
        char.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   348
    ] ifTrue:[
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   349
        socket next
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
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   352
    "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
   353
!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   354
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   355
next: n
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   356
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   357
    | nextn |
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   358
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   359
    peekChar isNil ifTrue:[
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   360
        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
   361
    ] ifFalse:[
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   362
        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
   363
        peekChar := nil
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   364
    ].
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   365
    ^nextn
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   366
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   367
    "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
   368
    "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
   369
!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   370
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   371
nextEvent
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   372
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   373
    | ev arg |
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
    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
   376
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   377
    self upTo:$E.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   378
    self expect: 'VENT ['.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   379
    self skipFor:$].
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
    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
   382
    
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   383
    [ (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
   384
        [ev add: arg].
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   385
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   386
    ^ev asArray
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   387
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   388
    "
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   389
        (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
   390
            nextEvent.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   391
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   392
        (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
   393
            nextEvent.
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
        (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
   396
            nextEvent.
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
        (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
   399
            nextEvent.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   400
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   401
        (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
   402
            nextEvent.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   403
10
c8eeee6c945e Fixes in event reading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   404
        (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
   405
EVENT [1234] VARIABLE_SET name string ''xxx''' readStream)
c8eeee6c945e Fixes in event reading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   406
            nextEvent
c8eeee6c945e Fixes in event reading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   407
        
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   408
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   409
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   410
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
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   413
    "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
   414
    "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
   415
!
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
nextNumberOrSymbol
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   418
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   419
    | contents |
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   420
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   421
    buffer reset.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   422
    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
   423
    [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
   424
        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
   425
    ].
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   426
    self peek == $. ifTrue:[
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   427
        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
   428
        [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
   429
            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
   430
        ]
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   431
    ].
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   432
    contents := buffer contents.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   433
    (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
   434
        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
   435
        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
   436
    ^contents.
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
    "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
   439
!
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   440
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   441
nextString
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
    | char |
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   444
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   445
    "/eat $'
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   446
    buffer reset.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   447
    self next.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   448
    [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
   449
        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
   450
        buffer nextPut: char.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   451
    ].
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   452
    ^buffer contents.
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 / 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
   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
nextStringOrSymbolOrNumber
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   458
10
c8eeee6c945e Fixes in event reading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   459
c8eeee6c945e Fixes in event reading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   460
    socket atEnd ifTrue:[^nil].
c8eeee6c945e Fixes in event reading
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   461
    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
   462
    self skipSeparators.
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
    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
   465
    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
   466
    ^self nextSymbol
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   467
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   468
    "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
   469
!
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   470
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   471
nextSymbol
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   472
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   473
    ^super nextSymbol asSymbol
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
    "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
   476
!
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   477
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   478
peek
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   479
    "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
   480
     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
   481
     - 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
   482
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   483
    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
   484
    ^peekChar.
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   485
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   486
    "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
   487
! !
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   488
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   489
!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
   490
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   491
old_nextEvent
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   492
5
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   493
    | ev |
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   494
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   495
    ev := OrderedCollection new: 4.
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   496
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   497
    self upTo:$E.
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   498
    self expect: 'VENT ['.
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   499
    self skipFor:$].
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   500
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   501
    ev add: (self upTo: Character space).
6
14d6a7489a64 Fixes in event handling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   502
    
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   503
    [ self old_nextEventArgumentIn: ev ] whileTrue.
4
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   504
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   505
    ^ev asArray
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   506
5
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
        (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
   509
            nextEvent.
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   510
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   511
        (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
   512
            nextEvent.
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   513
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   514
        (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
   515
            nextEvent.
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   516
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   517
        (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
   518
            nextEvent.
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   519
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   520
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   521
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   522
    "
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   523
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   524
    "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
   525
!
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   526
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   527
old_nextEventArgumentIn: event
5
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   528
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   529
    | s c conv |
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   530
    s := String new writeStream.
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   531
    [ 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
   532
        whileTrue: [ 
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   533
            conv == nil ifTrue: [
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   534
                c == $' ifTrue:[conv := #asString. c := socket next.] ifFalse:[
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   535
                c isDigit ifTrue: [conv := #asNumber] ifFalse:[
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   536
                conv := #asSymbol]]
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   537
            ].
6
14d6a7489a64 Fixes in event handling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   538
            (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
   539
                [conv := #asSymbol].
5
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   540
            s nextPut: c.
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   541
    ].
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   542
    conv ifNotNil:[
6
14d6a7489a64 Fixes in event handling
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   543
        conv = #asString ifTrue:[s skip: -1].
5
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   544
        event add: (s contents perform: conv).
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   545
    ].
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   546
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   547
    ^c == Character space.
fd7b79a506cf Event parsing improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
   548
9
267f2990f003 Event reading improved (spaces and escapes in string literals)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 7
diff changeset
   549
    "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
   550
! !
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
!WebKitRenderer::Channel methodsFor:'testing'!
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
atEnd
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   555
    "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
   556
     - 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
   557
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   558
    ^ socket atEnd
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   559
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   560
    "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
   561
!
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
isEmpty
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   564
    "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
   565
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   566
    ^ socket isEmpty
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   567
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   568
    "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
   569
! !
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   570
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   571
!WebKitRenderer::Channel methodsFor:'writing'!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   572
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   573
cr
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
    ^ socket cr
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   576
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   577
    "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
   578
!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   579
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   580
nextPut:anObject
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   581
    "put the argument, anObject onto the receiver
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   582
     - 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
   583
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   584
    ^ socket nextPut:anObject
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
    "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
   587
!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   588
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   589
nextPutAll:anObject
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   590
    "put the argument, anObject onto the receiver
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   591
     - 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
   592
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   593
    ^ socket nextPutAll:anObject
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   594
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   595
    "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
   596
!
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   597
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   598
space
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   599
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   600
    ^ socket space
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   601
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   602
    "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
   603
! !
385102f5bf00 Simple event processing
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
   604
2
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   605
!WebKitRenderer class methodsFor:'documentation'!
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   606
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   607
version_SVN
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   608
    ^ '$Id$'
7e604e6f195e Minor refactoring...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   609
! !
17
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   610
47ca84a7375e WebKitRenderer: added Debug class var
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   611
WebKitRenderer initialize!